Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 输出文件列表和循环以选择数据:移动到下一个文件_R_Loops_Filelist - Fatal编程技术网

R 输出文件列表和循环以选择数据:移动到下一个文件

R 输出文件列表和循环以选择数据:移动到下一个文件,r,loops,filelist,R,Loops,Filelist,我在R上的脚本有问题 我正在处理一个文件列表,每个文件都有一列日期和周,周数与日期匹配 我想每周保存所有这些数据:一个文件用于一年中的第一周,一个文件用于第二周,等等 我为此写了一个脚本。我们的目标还在于将write.table作为输出,在文件名中显示周数,即一年中第一周的data_2014_week_1 剧本在今年的第一周很有效,但我不能有第二周和其他50周 以下是脚本: rm(list = ls()) # setwd("C:/Users/florent/Documents/R/data")

我在R上的脚本有问题

我正在处理一个文件列表,每个文件都有一列日期和周,周数与日期匹配

我想每周保存所有这些数据:一个文件用于一年中的第一周,一个文件用于第二周,等等

我为此写了一个脚本。我们的目标还在于将write.table作为输出,在文件名中显示周数,即一年中第一周的data_2014_week_1

剧本在今年的第一周很有效,但我不能有第二周和其他50周

以下是脚本:

rm(list = ls())
#
setwd("C:/Users/florent/Documents/R/data")
fileList <- list.files(pattern="scope_ais_.*\\.csv", recursive=TRUE)
i=1
for (file in fileList){
data_2014<-read.table(file, header=T, fill=T, sep=",", nrows=20000)

for (i in 1:51){

data_2014<-data_2014[data_2014$week == i, ]
nrow<-as.numeric(nrow(data_2014))  
    if(nrow>0){
      #data_2014_scope <-     data_2014_scope[order(data_2014_scope$timestamp_pretty) , ]
      dir.create(file.path("C:/Users/florent/Documents/R/data/weeks"),     showWarnings=F)
      directory_divisions=paste("C:/Users/florent/Documents/R/data/weeks/data_2014_wee    k", sep="_",i, ".csv")
      write.table (data_2014, directory_divisions, row.names=F, sep=",")
      #i=i+1  
    } else {
#i=i+1     
}} }  
我已尝试将I=I+1移到下周,但找不到解决方案


欢迎任何帮助

因为1:51中的i应该在第二次迭代中移到i=2。如果你在第二个循环之后插入浏览器,你就可以监视循环过程中正在发生的事情,按下C来移动循环一次迭代。也许考虑在IddieDATA2014年$中使用I,然后只包含嵌套在IF nRe> 0语句中的三个语句。