在R中读取文件

时间:2013-03-28 14:48:09

标签: r

我一直在寻找许多主题的问题解决方案,但我找不到答案。我有十几个文件,我试图从目录中读取,但似乎没有任何工作。 我首先尝试了这个:

files <- list.files(path="../..")
files1 <- lapply(files, read.table, header=TRUE, sep="", skip=5)

和此:

files <- list.files(path="../..")
for (i in 1:length(files)) {
files1 <- read.table(files[i], header=TRUE, sep="",skip=5)
}

它说错误文件(文件,“rt”)无法打开这样的文件或目录,但是当我执行&gt;文件时,它会列出所有文件。

哪里出错了? TX

2 个答案:

答案 0 :(得分:4)

list.files为您提供文件名,您需要整个路径名。

一种选择是将完整路径粘贴到文件列表:paste("path/to/files/", files, sep="/")

正如@BenBarnes指出的那样,另一个选择是使用full.names中的list.files()参数

答案 1 :(得分:0)

我更喜欢将plyr包用于此类事情。根据您计划使用文件的方式,您可能需要使用不同的l * ply函数:

require(plyr)
files <- dir("../..", full= TRUE)
data <- llply(files, read.table, header= T, sep= "", skip= 5)

这将为您提供12个(或多个)数据集的列表。