我有一个提取数据的问题,并将它们一起列在R中。
我有24个文件:1.out
最多24.out
。所有24个文件包含相同的5列,我想提取每个文件的第5列,然后将所有24个文件的第5列直方图组合在一起。
temp = list.files(pattern="*.out")
for (i in 1:length(temp)) assign(temp[i], read.table(temp[i], header = TRUE))
我使用此命令读取文件,然后我理解temp[1]
将包含第一个文件名,但是如何进入文件,并提取第5列。我试过了:
file <- for (i in 1:length(temp)) assign(temp[i], read.table(temp[i[[5]]], header = TRUE))
显然,这是不正确的。在提取完所有第5列之后,如何一次性对所有列进行直方图化。
答案 0 :(得分:0)
您可以遍历文件,读取文件,提取第五列,将它们存储在矢量中,然后应用直方图,而不是将每个表分配给变量:
temp = list.files(pattern = "*.out")
hist(sapply(temp, function(fileName) read.table(fileName, header = TRUE)[5]))