r - 导入和读取多个文件 R

标签 r plyr read.table

我有许多名为“abcd001.txt,abcd002.txt”的制表符分隔的 .txt 文件....存储在一个目录中。 我可以使用以下代码导入它们(默认目录与数据文件目录相同)。它的三列,都是数字类型的数据

filenames <- list.files(path=".",pattern="abcd+.*txt")

#list of data in R
names <-substr(filenames,1,6)


for(i in names){
    filepath <- file.path(".",paste(i,".txt",sep=","))
    assign(i, read.table(filepath,
     colClasses=c("numeric"),
    sep = "\t"))
}

代码本身没有返回任何错误。我的疑问是如何访问正在加载的数据?如何访问说文件 abcd011.txt 的数据应该是三列数据

commands:names[3] 只返回文件号 000002 但没有数据。

这里的代码和这里的代码类似:Read multiple CSV files into separate data frames .

最佳答案

我建议将 read.table 的结果放在一个列表或一位 data.frame 中。此外,我建议在此处使用 apply 样式循环,标准 R (lapply) 或 plyr。我更喜欢使用 plyr,所以我的示例将使用该包。一个例子:

## Read into a list of files:
filenames <- list.files(path=".",pattern="abcd+.*txt")
list_of_data = llply(filenames, read.table, 
                                        colClasses = c("numeric"), sep = "\t")

现在可以使用以下方法访问数据:

list_of_data[[1]]
list_of_data[["abcd1.txt"]]

或者你可以将文件的内容读入一个大的data.frame:

big_data = ldply(filenames, read.table, 
                             colClasses = c("numeric"), sep = "\t"))

现在可以使用以下方法访问文件的内容:

big_data[big_data$variable == "abcd1.txt",]

关于r - 导入和读取多个文件 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121393/

相关文章:

r - 当其他值全为 0 时,计算特定值相对于所有值之和的百分比

r - Julia 中的完美(或接近)多重共线性

r - 错误 : only defined on a data frame with all numeric variables with ddply on large dataset

r - 根据条件比较两个数据帧

r - 读取 txt 文件的问题(引用字符串中的 EOF)

R:读取不带文件头的文件

r - 折叠一个数据框列表并与 R 中的另一个数据框列表组合

r - 如何在 R 中轻松格式化频率表?

r - 如何在r中创建多折线图

r - read.table()不容许丢失数据吗?