r - read.csv 循环太快

标签 r for-loop read.csv

我编写了一个循环来读取 csv 文件并对其进行 rbind。

vec1 = c(0,1,3,5,9)
vec2 = c("mom", "dad")
c = data.frame()

for(i in length(vec1))
{
  for (j in length(vec2))
  {
    dir = paste("../data/year ", vec1[i], "/ff_", vec2[j], "_cb", vec1[i], ".csv", sep="")
    a = read.csv(dir)
    Sys.sleep(3)
    c = rbind(c,a)

  }

}

但是,当我尝试执行它时,只有上一次迭代的结果在那里。 (即 a 具有上次迭代的值,并且 ca 相同)。

虽然这是因为循环太快,但它不会等待 read.csv 完成后再进入下一个。因此,我在那里放了一个 sys.sleep(3) 。

但是,同样的问题仍然存在。而且,我能够手动设置ij来完成这个任务,所以语法应该是正确的,但我不知道问题是什么。

谢谢!

最佳答案

您的循环不正确。 for(i in length(vec1)) 只会执行一次迭代。正确的格式是:for(i in 1:length(vec1)) 例如试试这个:

vec1 = c(0,1,3,5,9)
vec2 = c("mom", "dad")
for(i in 1:length(vec1))
{
  for (j in 1:length(vec2))
  {
    print(paste(i, j))   
  }  
}

然后用你的陈述重复这个例子。

关于r - read.csv 循环太快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43533035/

相关文章:

r - read.csv,第一行的标题,跳过第二行

R 函数 read.csv 失败, "scan() expected ' 是一个真实的',得到......“消息

r - 使用子集或 dplyr::filter 时,过滤 R 中的行会意外删除 NA

php - 单选按钮名称属性可以有数值吗

javascript - for循环编号序列(1,1,2,2,3,3等)

javascript - For 循环循环次数过多

python - 为什么 R 的 read.csv() 可以从 GitLab URL 读取 CSV 而 pandas 的 read_csv() 不能?

面向 R 程序员的 C - 推荐的资源/方法,一旦超过基础知识

r - 在 R 中查找数据框中的所有唯一字符

删除字符串的开头和结尾,直到在 R 中找到一个模式