Python
刚接触R
的人,请原谅天真的问题。
我有一个名为R
的{{1}}数据框,其中有四列:
我想将聚合级别(metrics
或day
)作为变量传递给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
根据this,9
从变量中提取列,但这会失败:
metrics[[agg_level]]
met <- dcast(m, [[agg_level]] ~ city, value.var = metric, fun.aggregate = sum)
这样做的正确方法是什么?
答案 0 :(得分:2)
dcast的公式参数期望传递给它的单词是data.frame x中的列/变量名。它不识别或解决“agg_level”是变量的事实。因此,您有两种选择:
Function instanceof Function // true