我有一个与下面的数据表相似的数据表(原始数据为10列34行)。我想有条件地基于每个单元格中的值每隔第二行设置颜色格式。所有带有数字的行都应设置格式(35、25、20)。
我还希望在Group列中只包含一个doublet,而在Obesity列中保留它们所引用的两行。不知道这是否可能。
>df
Group Obesity
1.a 1(ref)
1.a 35
2.b 0.6 (0.5,0.7)
2.b 25
3.c 0.7 (0.6,0.9)
3.c 20
这是适用于普通数字列的代码,它也适用于示例数据,但是颜色不正确。
formattable(df, list(
Obesity = color_tile("darkorange", "white")
))
可复制数据
df <- data.frame(Group = c("1.a","1.a","2.b","2.b","3.c","3.c"),
Obesity = c("1(ref)",35,"0.6 (0.5,0.7)",25,"0.7 (0.6,0.9)",20),
stringsAsFactors = FALSE)
如何在三列中重塑数据框并创建包含每一行数值的第三列?
类似的东西:
df <- aggregate(Obesity ~ Group, data = df, I)
colnames(df) <- c("Group","Obesity_ref","Obesity_value")
library(formattable)
formattable(df, list(
Obesity_value = color_tile("darkorange", "white")))
可复制数据
df <- data.frame(Group = c("1.a","1.a","2.b","2.b","3.c","3.c"),
Obesity = c("1(ref)",35,"0.6 (0.5,0.7)",25,"0.7 (0.6,0.9)",20),
stringsAsFactors = FALSE)