Wah*_*aht 2 for-loop r 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)
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试执行它时,只有最后一次迭代的结果存在.(即a具有上次迭代的值,并且与之c相同a).
我虽然这是因为循环太快,它不会等到read.csv完成后再转到下一个.因此,我在那里放了一个sys.sleep(3).
但是,同样的问题仍然存在.而且,我能够设置i,j手动完成这个任务,所以语法应该是正确的,但我不知道是什么问题.
谢谢!
你的循环不正确. 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))
}
}
Run Code Online (Sandbox Code Playgroud)
然后用你的陈述重复这个例子.