0

我有一个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
4

0 回答 0