首页 > 解决方案 > 创建一个带增量的 for 循环,但其他变量保持不变

问题描述

嘿伙计们,我想在所有其他变量保持不变的情况下,将变量 pi1 从 -1 增加到 0 0.0001 步。我该怎么做?

这是我迄今为止尝试过的

for(i in seq(from=-1, to=0, by=0.001)){
set.seed(1234)

n <- 2000
b0 <- 0
pi1 <- 0
b1 <- 0
b2 <- -1/1000
b3 <- 1/5

z <- runif(n,0,25)
ov <- rnorm(n,0,1)

d <- -1/2 + pi1[i] * z + 1/2 * ov + rnorm(n,0,1) > 0
y <- b0 + b1 * d + b2 * z + b3 * ov + rnorm(n,0,1/10) 

有什么建议可以解决这个问题吗?

最好的弗雷迪

标签: r

解决方案


也许,我遗漏了一些东西,但是您不能将循环变量的值分配ipi1吗?

for(i in seq(from=-1, to=0, by=0.001)){
  set.seed(1234)
  print(i)
  
  n <- 2000
  b0 <- 0
  pi1 <- i
  b1 <- 0
  b2 <- -1/1000
  b3 <- 1/5
  
  z <- runif(n,0,25)
  ov <- rnorm(n,0,1)
  
  d <- -1/2 + pi1 * z + 1/2 * ov + rnorm(n,0,1) > 0
  y <- b0 + b1 * d + b2 * z + b3 * ov + rnorm(n,0,1/10)
}

推荐阅读