我有一个数据集gl,我想生成第二个数据集gl2,其中包含一个从gl提取的方程式。但是,它仅存储我循环中的最后一个值。
gl:
CaseID Trait RMF RMFE ZM ZME ZF ZFE avG errG
171 Lrs -0.85 0.6 0.92 0.022 0.77 0.018 0.043 0.051
172 Hll 0.4 0.14 171.8 0.680 172.5 0.5333 22.8 3.6
173 W 0.42 0.09 19.7 0.382 18.7 0.2125 0.79 0.4
174 Fec 0.27 0.13 1.63 0.036 0.92 0.034 0.039 0.009
201 ConPG -0.95 0.42 0.00018 8.65E-5 0.0008 6.61E-5 7.93 7.06
206 Lrs -0.48 0.44 0.98 0.129 2.27 0.118 61.07 58.94
131 PWm1 0.4 0.48 191 1.048 131 0.733 157 75
132 PWm2 0.53 0.06 198 0.650 135 0.396 263 92
133 PWm3 0.59 0.22 157 0.670 109 0.391 195 195
代码:
draws <- 10^6
gl2 <- data.frame(matrix(nrow=9, ncol=1))
gl2$CaseID <- gl$CaseID
gl2$Trait <- gl$Trait
for (i in nrow(gl)){
G <- rnorm(draws, gl$avG[i], gl$errG[i])
zm <- rnorm(draws, gl$ZM[i], gl$ZME[i])
zf <- rnorm(draws, gl$ZF[i], gl$ZFE[i])
rmf <- rnorm(draws, gl$RMF[i], gl$RMFE[i])
load <- (zm + zf)/(8*G + rmf)
mload <- mean(load)
gl2[i,1] <- c(mload)
}
我希望该输出成为gl2的新列,并在每行中都包含方程式(mload)的结果,它的输出改为是第1列最后一行的单个值。 我知道这不是有效的代码,但这是我的理解方式。我花了好几天时间来使用它,却找不到任何解决方案,也不知道为什么它不起作用。 谢谢。