我有一个看起来像这样的数据集......
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
这可能很简单,但我没有太多运气想出正确的方法。
答案 0 :(得分:4)
接近。在您的示例中,您创建了一个吨的子集,但不是周。
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")