按R中的文件名列出组织

时间:2017-11-13 21:25:06

标签: r list char

我正在尝试创建按月和年分隔的数据列表(价值40年)。数据目前具有名称结构(年) - (数字月) - (Var).nc。我想将所有数据放入下面创建的相应列表中。不完全确定如何从这里开始。任何指导都表示赞赏。

files_nc <- list.files(pattern = ".nc")

year <- vector("list", length = 40) 
month <- vector("list", length = 12)

names(year) <- c(1978:2017)
names(month) <- c("Jan","Feb","Mar","Apr","May","Jun","Jul", 
   "Aug","Sep","Oct","Nov","Dec")  

for (i in 1:40) { 
   year[[i]] <- month
}

1 个答案:

答案 0 :(得分:0)

它并不完全清楚你要求的是什么,但我相信这应该有效。我假设您正在加载文件列表,并且每个文件都与一年和一月相关联。

file_names <- list(names(files_nc))

file_names_split <- lapply(file_names,function(x)strsplit(x,"-"))

for(i in 1:length(file_names_split)) {

  y <- which(names(year) == file_names_split[[i]][[1]][1])
  m <- as.numeric(file_names_split[[i]][[1]][2])

  year[[y]][m] <- files_nc[[i]]

}

一般来说,这种方法应该有效。如果它有效,我会花时间将for循环重写为apply语句。