微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该如何将模拟研究中的数据存储在矩阵中?

如何解决我应该如何将模拟研究中的数据存储在矩阵中?

我目前正在进行蒙特卡罗模拟,我正在测试哪个模型最适合变量选择。这样做时,我需要将来自每个模拟的信息存储在一个矩阵中,以便我以后可以对其进行分析。作为 R 的新手,我在执行此任务时遇到了困难。 相关代码如下:

iter <- 2000

results.matrix <- matrix(ncol = 12,nrow = iter )

for (i in iter) {
  Ylink <- (1 * (age - mean(age)) + (1.5 * (gender == "1")) + 1.2 * (inkomst - mean(inkomst)))
  Yprob <- 1/(1 + exp(-Ylink))
  Y <- rbinom(2000,size = 1,prob = Yprob)
  df <- data.frame(x1,x2,x3,x4,x5,x6,x7,age,gender,inkomst,Y)
  glm0 <- glm(Y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + age + gender + inkomst,data = df)
  summary(glm0)
  results.matrix[,1] <- summary(glm0)$coef[,"Pr(>|t|)"]
}

尝试时出现以下错误:“要替换的项目数不是替换长度的倍数”

解决方法

试试这个:

iter <- 2000

results.matrix <- matrix(ncol = 12,nrow = iter )

for (i in seq_len(iter)) {
  Ylink <- (1 * (age - mean(age)) + (1.5 * (gender == "1")) + 1.2 * (inkomst - mean(inkomst)))
  Yprob <- 1/(1 + exp(-Ylink))
  Y <- rbinom(2000,size = 1,prob = Yprob)
  df <- data.frame(x1,x2,x3,x4,x5,x6,x7,age,gender,inkomst,Y)
  glm0 <- glm(Y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + age + gender + inkomst,data = df)
  results.matrix[i,] <- summary(glm0)$coef[,"Pr(>|t|)"]
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。