我有一个data.table
功能,例如:
library(data.table)
m = data.table(x1=rnorm(10),x2=rnorm(10))
通常,如果我想对其中的一个功能进行自然样条基础扩展,lm
我可以执行以下操作:
library(splines)
m[,lm(x2 ~ ns(x1,df=4))]
但是,如果我只想将样条基础列添加到我的 data.frame 以供以后使用,则以下内容不起作用:
m[,c('a','b','c','d') := ns(x1,df=4)]
有没有一种优雅的方式来分配它们?无需手动提取这样的列:
foo = ns(m$x1,df=4)
m[,a:=foo[1,]] #etc