在R中结合箱形图和三角形框架

时间:2015-12-10 12:47:35

标签: r plot dataframe

我正在尝试使用R来显示合并的boxplot,我确信这可能很容易,但我的数据有点复杂,数据有三角形结构。

下面是数据框 aa dd 的示例:

  2014-01-15 2014-02-15 2013-03-15 2013-04-15
1       0.34       0.23       0.33       0.24
2         NA       0.49       0.38       0.34
3         NA         NA       0.34       0.33
4         NA         NA         NA       0.28

  2014-01-15 2014-02-15 2013-03-15 2013-04-15
1       0.24       0.33       0.23       0.24
2         NA       0.29       0.28       0.44
3         NA         NA       0.34       0.31
4         NA         NA         NA       0.29

使用下面的代码生成data.frame:)

aa <- data.frame(c(0.34,NA,NA,NA), 
+                   c(0.23,0.49,NA,NA),
+                  c(0.33,0.38,0.34,NA),
+                  c(0.24,0.34,0.33,0.28))

dd <- data.frame(c(0.24,NA,NA,NA), 
+                   c(0.33,0.29,NA,NA),
+                  c(0.23,0.28,0.34,NA),
+                  c(0.24,0.44,0.31,0.29))

colnames(aa) <- c("2014-01-15", "2014-02-15", "2013-03-15","2013-04-15")
colnames(dd) <- c("2014-01-15", "2014-02-15", "2013-03-15","2013-04-15")

我编写了代码来为每个数据集生成绘图,在名称中也是如此。但是绘图无法显示轴是很奇怪的。

boxplot(aa,names = c("2014-01-15", "2014-02-15","2013-03-15","2013-04-15"))
boxplot(dd,names = c("2014-01-15", "2014-02-15","2013-03-15","2013-04-15"))

我怎么试过使用合并下面的代码:

boxplot(data.frame(aa,dd),names = c("2014-01-15", "2014-02-15","2013-03-15","2013-04-15"))

图表看起来像这样,但没有日期轴,我不知道为什么!我想把数据放在同一个日期。但在这里,数据集仍然是分开的:(

enter image description here

1 个答案:

答案 0 :(得分:2)

您有几个问题:您正在使用四个提供的名称绘制八个箱图,这就是他们不会出现的原因。正如您所说,您的数据仍然是分开的,这是因为数据中的每一列都按照您自己的方框图绘制,按照您的数据在列中的顺序。解决方案在于组合数据的另一种方式。我已经使用ggplot来创建情节,因为它可以很好地处理分组的箱形图。

library(reshape2)
library(ggplot2)
#combine the data with a grouping variable, otherwise data is not identifiable
aa$group <- 'a'
dd$group <- 'd'

ad <- rbind(aa,dd)

您的数据需要采用不同的格式,每次观察都有自己的行。

#melt the data
ad$id <- 1:nrow(ad)
ad_m <- melt(ad,id.vars=c("id","group"))

绘制分组条:

p2 <- ggplot(ad_m, aes(x=variable, y=value,color=group))+
  geom_boxplot(position="dodge") 
p2

enter image description here

相关问题