我有一个提取数据并在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 列后,如何一次直方所有列。
您可以遍历文件、读取文件、提取第五列、将它们存储在向量中,然后应用直方图,而不是将每个表分配给一个变量:
temp = list.files(pattern = "*.out")
hist(sapply(temp, function(fileName) read.table(fileName, header = TRUE)[5]))