我想在像mean这样的列表达式之后给自定义但是临时名称(即,我不想使用“:=”)将data.table更改为data.table的列。我已经看了一些使用eval函数的例子,但我想在一行代码中完成这个。我们怎么做?谢谢!
我有这个数据
steps.dt[,mean(steps), by = interval]
interval V1
1: 0 0
2: 5 1
3: 10 2
现在,当我计算意味着只是为了了解数据而不是修改它
Series
我在名为“V1”的列下得到结果。我想给它一个自定义名称,如“steps.mean”,而不是在列表达式中使用“:=”更改数据表。
答案 0 :(得分:3)
要在计算中命名列,您只需在J
表达式
steps.dt[, .(steps.mean = mean(steps)), by = interval]
要仅显示平均列,您可以将表达式链接到末尾以仅显示感兴趣的列
steps.dt[, .(steps.mean = mean(steps)), by = interval][, .(steps.mean)]
## or, if you only want a vector of values returned, don't use the .()
# steps.dt[, .(steps.mean = mean(steps)), by = interval][, steps.mean]
答案 1 :(得分:-2)
这将通过使用dplyr
为您服务library(dplyr)
steps.dt %>%
group_by(interval) %>%
summarise(steps.mean = mean(steps,na.rm = T) %>%
select (steps.mean)
答案 2 :(得分:-2)
我们可以使用base R
aggregate(steps~interval, steps.dt, mean)