R语言 是否有方法在数据表中动态创建新列[duplicate]

92vpleto  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(124)
    • 此问题在此处已有答案**:

data.table: anonymous function in j(2个答案)
20小时前关门了。
我正尝试从我数据中创建多个新列。

dat <- iris[,c('Sepal.Length','Petal.Length')]

dat2 <- dat[,c(sl='Sepal.Length',
               pl='Petal.Length',
               slpl=sl*pl,
               plsl=pl/si)]

但我得到错误对象sl未找到。

ih99xse1

ih99xse11#

一个可能的解决方案是:

dat2 <- dat[,{sl=Sepal.Length;
               pl=Petal.Length;
               slpl=sl*pl;
               plsl=pl/sl;
               .(sl,pl,slpl,plsl)}]
dat2

        sl    pl  slpl      plsl
     <num> <num> <num>     <num>
  1:   5.1   1.4  7.14 0.2745098
  2:   4.9   1.4  6.86 0.2857143
  3:   4.7   1.3  6.11 0.2765957
  4:   4.6   1.5  6.90 0.3260870
  5:   5.0   1.4  7.00 0.2800000
 ---                            
146:   6.7   5.2 34.84 0.7761194
147:   6.3   5.0 31.50 0.7936508
148:   6.5   5.2 33.80 0.8000000
149:   6.2   5.4 33.48 0.8709677
150:   5.9   5.1 30.09 0.8644068

相关问题