【发布时间】:2015-09-08 18:57:28
【问题描述】:
我有一个 data.frame,其中包含元数据和包含我的数据的 txt 文件的文件名路径
data <- structure(list(region = structure(1:3, .Label = c("DE", "GB", "USA"), class = "factor"), name = structure(c(1L, 3L, 2L), .Label = c("File1", "Loc7812_Temp", "Loc889"), class = "factor"), txt_path = structure(c(1L,3L, 2L), .Label = c("/home/xyz/Downloads/Data/file1.txt", "/home/xyz/Downloads/Data/FolderTempData/datatemp7812.txt", "/home/xyz/Downloads/Data/Raw/datfile889.txt"), class = "factor")), .Names = c("region", "name","txt_path"), class = "data.frame", row.names = c(NA, -3L))
data
region name txt_path
1 DE File1 /home/xyz/Downloads/Data/file1.txt
2 GB Loc889 /home/xyz/Downloads/Data/Raw/datfile889.txt
3 USA Loc7812_Temp /home/xyz/Downloads/Data/FolderTempData/datatemp7812.txt
可以通过我的Dropboxhere在文件夹结构中下载的txt文件
我想做的是将数据包含在一个附加列中,以便能够将数据和元数据与另一个数据帧进行比较。问题是 .txt 文件中的数据具有不同的行和列长度,我不知道如何有效地存储它。
我可以使用以下命令将来自不同文件路径的数据读入列表
list <- lapply(file.path(data$txt_path), read.table, header=TRUE,sep="\t", fill=TRUE, fileEncoding="latin1")
但是,通过此步骤,我将失去与元数据的连接。如何将此信息存储在附加列中,以便将不同 txt 文件的全部信息放入与文件路径和元数据信息相对应的一个行元素中(可能在 data.frame 中的列表中?在 Matlab 中你可以这样做通过使用结构)
在下一步中,我将合并数据并消除重复项,这就是我想将数据“打包”到一个行元素中的原因。
【问题讨论】: