我有以下这种结构的数据表:
+-----+-------+-------+-------+
| key | col1 | col2 | col3 |
+-----+-------+-------+-------+
| A | 1000 | 56 | 1 |
| A | 2000 | 3 | NaN |
| B | 2001 | 23 | 90 |
| A | 2002 | 87 | 42 |
| A | 2004 | 12 | 12 |
| B | 2002 | 1 | NaN |
| C | 2002 | 3 | 14 |
+-----+-------+-------+-------+
我的目标是为每个键绘制1个ggplot的多个箱图,其中ggplot中的每个箱图都是数据集中每列的可视化。反正有没有实现这个目标?
答案 0 :(得分:2)
据我了解
df <- structure(list(key = structure(c(1L, 1L, 2L, 1L, 1L, 2L, 3L), .Label = c("A",
"B", "C"), class = "factor"), col1 = c(1000L, 2000L, 2001L, 2002L,
2004L, 2002L, 2002L), col2 = c(56L, 3L, 23L, 87L, 12L, 1L, 3L
), col3 = c(1, NaN, 90, 42, 12, NaN, 14)), .Names = c("key",
"col1", "col2", "col3"), class = "data.frame", row.names = c(NA,
-7L))
library(reshape2)
df1 <- melt(df)
library(ggplot2)
ggplot(aes(x = variable, y = value), data = df1) + geom_boxplot() + facet_wrap(~key)
或
ggplot(aes(x = variable, y = value), data = df1) + geom_boxplot() + facet_wrap(variable~key)