我有102个文本文件,每个文件包含相同类型的数据。假设数据存储在文件f1的变量d1中。
在R: 我想在两个文件中的数据之间进行绘图。比如d1 vs d2或d45 vs d85
我需要为所有组合(102C2组合)执行这些操作
我该怎么做?
答案 0 :(得分:2)
这是一个有点请求,因为你无法理解那么多的情节。 E.g:
ncol(combn(1:102,2))
为102组数据之间的唯一组合提供了总共 5151 图。如果你的教授想要手动搜索所有这些情节,他最好给自己倒一大杯咖啡。我会认真地重新考虑你想从这些数据中找到什么,并可能重新定义你的调查范围。
话虽如此,这里有一些潜在的代码,鉴于这种情况可能或不是很好的建议。事实上,我建议不要在所有文件中运行以下代码,以免计算机爆炸。
# This is how you would read text files into a list,
# courtesy of this question (http://stackoverflow.com/q/9110110/496803):
# raw <- list.files(pattern="*.txt")
# listy <- lapply(raw, read.table)
# set up some mock data instead
listy <- list(1:3,4:6,7:9)
# get every possible combination
combos <- combn(1:length(listy),2)
# define a function to plot each combination of data
multiplot <- function(x) {
dev.new()
plot(listy[[(x[1])]],listy[[x[2]]])
}
# Generate the plots separately.
# This will probably kill your R session with
# the number of plots you are generating.
apply(combos,2,multiplot)