我想重新生成一个生成data.frames的循环。这是我正在寻找的一般想法的[不正确]循环。
for (i in 1:2){
a <- c(2, (i+10))
b <- c((i+10)), 5))
c[i] <- data.frame(a,b)
}
rbind(c)
我想要这样的输出:
2 11
11 5
2 12
12 5
之前已经问过这个问题,但答案是一个直接的解决方案,没有任何解释。我不知道如何阅读它。它涉及do.call
和mget
。
答案 0 :(得分:7)
您不必使用do.call
。只需修改循环,如下所示:
out=NULL
for (i in 1:2){
a <- c(2, (i+10))
b <- c((i+10), 5)
c <- data.frame(a,b)
out=rbind(out,c)
}
out
# a b
# 2 11
# 11 5
# 2 12
# 12 5
注意:b对象有一堆额外的括号。那我也拿出来了。