假设我有一个数据框,其外观如下:
我想创建一个新变量
最好的方法是什么?我可以使用
df1 <- as.data.frame(matrix( rnorm(100*50,mean=0,sd=1), 100, 50))
我想创建一个新变量
y
,它是alpha_i*V_i的和,其中i从1到50,而alpha是从均匀分布(0,1)中抽取的随机数。最好的方法是什么?我可以使用
mutate
和dplyr
吗?
sweep
也可以强制转换为matrix
,我猜。当我问了几乎相同的问题时,eddi建议使用Reduce(\
+`,lapply(seq_along(v1),function(i)df1[[i]]*v1[i]))`:https://dev59.com/FHfZa4cB1Zd3GeqPV8vl#19279500 - Franksweep
的输出是一个数据框,但我猜对于大型数据集来说,lapply
会更快。 - akrun