R - 使用dcast

时间:2015-11-25 20:32:54

标签: r reshape2

Python刚接触R的人,请原谅天真的问题。

我有一个名为R的{​​{1}}数据框,其中有四列:

我想将聚合级别(metricsday)作为变量传递给week进行聚合。

dcast

如果我在函数中硬编码agg_level <- c("week"),它会正确聚合每周的数据:

  • week
  • 输出:

met <- dcast(metrics, week ~ city, value.var = count, fun.aggregate = sum) week NYC CHI

SF 2015-10-18 1 2

3 2015-10-25 4 5

如果我用变量替换6,它就会失败。 (它聚合 所有 周的数据。)

  • week

  • 输出:

met <- dcast(metrics, agg_level ~ city, value.var = count, fun.aggregate = sum) agg_level NYC CHI

SF week 5 7

根据this9从变量中提取列,但这会失败:

  • metrics[[agg_level]]

  • met <- dcast(m, [[agg_level]] ~ city, value.var = metric, fun.aggregate = sum)

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

dcast的公式参数期望传递给它的单词是data.frame x中的列/变量名。它不识别或解决“agg_level”是变量的事实。因此,您有两种选择:

Function instanceof Function  // true