r 中的一个简单的 for 循环来模拟一小组数据,打印结果工作正常但设置数据集会创建一个只有 2 个条目的数据集

a simple for loop in r to simulate a small set of data, print result works fine but setting a dataset creates a dataset with only 2 entries

我正在尝试让 for 循环工作。我还有此代码的其他迭代版本,但终究无法弄清楚为什么此特定版本无法正常工作。


result <- data.frame(matrix(nrow = 101, ncol = 2))
colnames(result) <- c("i", "Ratio")

for (i in seq(0, 2, length.out = 101)){
p <- (1-pnorm(.5 + i))/(1-pnorm( i ))
    result[i, 1] <- i  
    result[i, 2] <- p
}

result

for (i in seq(0,2, length.out = 101)){
p <- (1-pnorm(.5 + i))/(1-pnorm( i ))
print (p)
}

第一个代码块产生一个包含 2 个条目和其余 NA 的数据帧。第二个作品。将 seq 从 (0,2) 更改为 (0,3) 会产生一个包含 3 个条目的数据帧,(0,4) 包含 4 个条目,依此类推。

我真的很难理解是什么导致了我的代码出现这种行为。

只需使用

counter<-0
for (i in seq(0, 2, length.out = 101)){
 p <- (1-pnorm(.5 + i))/(1-pnorm( i ))
 result[counter, 1] <- i  
 result[counter, 2] <- p
 counter<-counter+1;
}

result