文件名未知的文件

时间:2014-01-05 16:17:21

标签: r statistics

我有一个文件夹,里面有很多csv文件。

我可以在不知道文件名的情况下阅读所有这些内容,例如zoo对象吗?

更新

我试过了:

files <- list.files( "C://Users//ramid//Desktop//Files//" );
(na.omit(files))
for( i in files ) {
    filePath <- gsub(" ","", paste("C://Users//ramid//Desktop//Files//",files[i],".csv"), fixed=TRUE)
    cat(filePath)
    df <- read.csv(gsub(" ","", filePath, fixed=TRUE), header = TRUE, sep = ";",stringsAsFactors=FALSE)
}

但是我收到了错误:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
  cannot open file 'C://Users//ramid//Desktop//Files//NA.csv': No such file or directory

我的文件列表中没有NA

1 个答案:

答案 0 :(得分:4)

我会使用list.fileslapply的组合:

list_of_files = list.files('.', pattern = '*csv', full.names = TRUE)
list_of_csv_contents = lapply(list_of_files, read.csv)
list_of_zoo = lapply(list_of_csv_contents, zoo)

或者一步包装read.csvzoo

read_into_zoo = function(path) {
    contents = read.csv(path)
    zoo_contents = zoo(contents)
    return(zoo_contents)
   }
list_of_zoo = lapply(list_of_files, read_into_zoo)

这种将事物存储在列表/数组/向量/矩阵中并使用apply样式循环的策略是一种在R中运行良好的策略。