当我在循环中使用命令打印时,我有6140个原始文件:
for (i in 1:614 ){
print(paste(urls[i], 0:10)))
}
但我不知道如何将所有值提取到数据框 当我创建变量时:
for (i in 1:614 ){
a<- as.data.frame(paste(urls[i], 1:10))
}
我只有10个obj wit我的链接。
一般情况下,我想要6140 obj和我的数据
P.S.sryry for my english :)
答案 0 :(得分:1)
我想说最简单的方法就是使用foreach
package。它提供了一个.combine
参数,使得每个循环的结果非常简单。
# Create a reproducible example of urls
urls <- rep_len (letters, 614)
# Install and load `foreach`
install.packages ("foreach")
library (foreach)
# Create the loop and indicate that you want to join the results by row
a <- foreach (i=1:614, .combine = rbind) %do% {
as.data.frame (paste(urls[i], 0:10))
}
就是这样。您可以将结果组合成多种类(向量,数据框,列表等)和方式(按行,按列等)。学习使用foreach
不仅有利于解决这个问题,而且如果以后需要进行某种并行计算,它也会非常有用。
如果你想坚持传统的循环,其中一种方法是:
a <- data.frame ()
for (i in 1:614){
a <- rbind (a, as.data.frame (paste(urls[i], 0:10)))
}
快乐的编码!