R ggplot2问题 - 使用因素

时间:2010-01-16 06:40:55

标签: r ggplot2

我有一个看起来像这样的数据集......

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

这可能很简单,但我没有太多运气想出正确的方法。

1 个答案:

答案 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")