Чтение и сохранение данных с каждой итерацией - PullRequest
0 голосов
/ 21 марта 2019

Мне нужен простой код для создания цикла, который идет в несколько подпапок и читает файл там в каждой итерации.После прочтения я хочу сохранить данные, используя имя фактора, который у меня есть.Фактор имеет 19 уровней, и я хочу прочитать 19 файлов из 19 подпапок.На данный момент, каждый раз, когда цикл перезаписывает данные, потому что считанные данные всегда сохраняются с тем же именем и не перебирают имена фактора.

Код, который я пробовал:

    # read data table for each region in the control period
for(l in 1:length(regions)){
  name <- regions@data$name[l]
  setwd(paste("filepath","/",name,sep=""))
  data <- read.table(paste(name,".mit",sep=""),skip=1,header=TRUE)
  data$Date <- paste(data$YYYY,"-",data$MM,"-",data$DD,sep="")
  data$Date <- as.POSIXct(data$Date,format="%Y-%m-%d")
}

1 Ответ

0 голосов
/ 21 марта 2019

Не зная ваших данных и т. Д., Что вы хотите, чтобы прочитать все содержимое различных файлов в R?Затем вам нужно предоставить вашему циклу что-то, чтобы вернуться в рабочее пространство.Используя assign(), вы можете создать фрейм данных для каждого отдельного региона следующим образом:

 for(l in 1:length(regions)){
      name <- regions@data$name[l]
      setwd(paste("filepath","/",name,sep=""))
      data <- read.table(paste(name,".mit",sep=""),skip=1,header=TRUE)
      data$Date <- paste(data$YYYY,"-",data$MM,"-",data$DD,sep="")
      data$Date <- as.POSIXct(data$Date,format="%Y-%m-%d")
      df_name <- paste0("dataframe_",name)
      assign(df_name  ,data, envir=.GlobalEnv)

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...