我正在尝试运行一个包含 while 和 if 语句的循环。该代码在循环外起作用,但在内部不起作用!这是一个非常简化的版本,基本上是试图收集每个包含10个数字的集合xx [j]。
当我运行它时,它实际上从未将'x'分配给集合xx [j],但是我不确定为什么!
n <- 10
xx <- list()
for (j in 1:5) {
xx[j] <= NULL
while (length(xx[j]) < n) {
x <- runif(1)
if (0.5 <= x) {
xx[j] <- c(xx[j], x)
}
}
}
答案 0 :(得分:2)
我已经修复并完善了代码。
更改为:
xx[[j]]
5
的列表NULL
的情况下将其设置为NULL
固定代码:
n = 10
xx = vector('list',5)
for (j in seq_along(xx)) {
while(length(xx[[j]]) < n){
x = runif(1)
if (0.5 <= x) {
xx[[j]] = c(xx[[j]], x)
}
}
}