1

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

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”)无法打开此类文件或目录,但当我执行>文件时,它会列出所有文件。

哪里错了?发送

4

2 回答 2

4

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

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

正如@BenBarnes 指出的那样,另一种选择是full.nameslist.files()

于 2013-03-28T14:53:13.753 回答
0

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

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

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

于 2013-03-28T18:21:41.710 回答