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
我正在尝试让 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