【发布时间】:2020-03-18 14:57:53
【问题描述】:
我想将一个函数应用于多个列,对一个参数使用不同值的向量。
我有一些数据:
library(data.table)
df1 <- as.data.table(data.frame(a = c(1,2,3),
b = c(4,5,6)))
cols <- c('a', 'b')
n <- 1:2
我想创建将 n 添加到 a 和 b 的列。输出如下所示:
a b a+1 b+1 a+2 b+2
1: 1 4 2 5 3 6
2: 2 5 3 6 4 7
3: 3 6 4 7 5 8
This post 详细说明了如何将一个函数应用于多个列,我知道该怎么做。
df1[,paste0(cols,'+1'):= lapply(.SD, function(x) x + 1), .SDcols = cols]
我不知道的是如何将相同的函数应用于多列,用 n 代替 1。
【问题讨论】:
标签: r data.table apply