.SDcols中的data.table列号

Jua*_*los 5 r data.table

我希望对.SDcols中指定的每个列进行取幂,通过每列的列号,是否可能?

我认为如果可以获得有关像列号这样的列的信息是可能的.

akr*_*run 6

我们可以用它Map来做到这一点.假设,如果我们要更改第一列和第二列('i1'),请在其中指定它.SDcols,然后Map我们在Data.table(.SD)的Subset的每一列上应用函数,并在'i1'中指定相应的索引并赋值(:=)输出到列.

i1 <- 1:2
dt1[, (i1) := Map(`^`, .SD, i1), .SDcols = i1]
Run Code Online (Sandbox Code Playgroud)

数据

dt1 <- data.table(a = 1:5, b= 6:10, c = 11:15)
Run Code Online (Sandbox Code Playgroud)