题
我有一个数据集,看起来像这样...
mine tonnes week AA 112 41 AA 114 41 AA 119 41 BB 108 41 BB 112 41 AA 110 42 AA 109 42 AA 102 43 AA 101 43
和我想创建一个GGPLOT2箱线图显示吨的每个星期的分布。但我只想和我的AA结果。
我以为它会像这样工作....
qplot(factor(week), tonnes[mine == "AA"], data = sql_results, geom = "boxplot")
但是,相反,我得到这个错误。
Error in data.frame(x = c(13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, :
arguments imply differing number of rows: 423100, 109436
这也可能是死的简单,但我没有多少运气搞清楚这样做的正确方法。
解决方案
接近。在您的例子中,你创建吨的一个子集,但本周没有的。
sql_results<-structure(list(mine = structure(c(1L, 1L, 1L, 2L, 2L, 1L, 1L,
1L, 1L), .Label = c("AA", "BB"), class = "factor"), tonnes = c(112,
114, 119, 108, 112, 110, 109, 102, 101), week = c(41, 41, 41,
41, 41, 42, 42, 43, 43)), row.names = c("1", "2", "3", "4", "5",
"6", "7", "8", "9"), .Names = c("mine", "tonnes", "week"), class = "data.frame")
qplot(factor(week), tonnes, data = subset(sql_results,mine=="AA"), geom = "boxplot")
不隶属于 StackOverflow