gpt4 book ai didi

r - 创建新变量,它是许多其他变量的线性组合

转载 作者:行者123 更新时间:2023-12-01 13:52:25 24 4
gpt4 key购买 nike

假设我有一个如下所示的数据框:

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) 中抽取的随机数。

这样做的最佳方法是什么?我可以使用 mutatedplyr 来实现吗?

最佳答案

你可以试试

 df1$newvar <- as.matrix(df1) %*% v1

或者

 df1$newvar <- rowSums(sweep(df1, 2, v1, FUN='*'))

或者按照@Frank 基于 post 的建议

 df1$newvar <- Reduce(`+`,lapply(seq_along(v1),function(i)df1[[i]]*v1[i]))

数据

 set.seed(24)
df1 <- as.data.frame(matrix( rnorm(100*50,mean=0,sd=1), 100, 50))
set.seed(48)
v1 <- runif(50)


关于r - 创建新变量,它是许多其他变量的线性组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com