【发布时间】:2017-06-07 05:03:11
【问题描述】:
我想在像mean这样的列表达式之后为data.table的列提供自定义但临时的名称(即,我不想使用“:=”更改data.table)。我看过一些使用 eval 函数的例子,但我想在一行代码中做到这一点。我们该怎么做?谢谢!
我有这个数据
steps.dt = data.table(steps=rep(0:2, each=3),
date=as.factor(rep(c("10/2/2012", "10/3/2012", "10/4/2012"), each = 3)), interval = as.factor(rep(c(0,5,10), each = 3)))
steps.dt
steps date interval
1: 0 10/2/2012 0
2: 0 10/2/2012 0
3: 0 10/2/2012 0
4: 1 10/3/2012 5
5: 1 10/3/2012 5
6: 1 10/3/2012 5
7: 2 10/4/2012 10
8: 2 10/4/2012 10
9: 2 10/4/2012 10
现在,当我计算时意味着只了解数据而不是修改它
steps.dt[,mean(steps), by = interval]
interval V1
1: 0 0
2: 5 1
3: 10 2
我在名为“V1”的列下得到结果。我想给它一个自定义名称,例如“steps.mean”,而无需在列表达式中使用“:=”来更改数据表。
【问题讨论】:
-
将
J表达式中的列命名为:steps.dt[, .(steps.mean = mean(steps)), by = interval] -
谢谢@SymbolixAU!我不知道。可以在 J expr 中像这样使用。请。回复,我会接受...
标签: r data.table