У меня есть несколько файлов, которые содержат ряд чисел. Я хочу узнать, каковы общие числа во всех файлах. например
a.txt
1
2
3
4
b.txt
2
4
9
c.txt
2
3
4
8
10
Выход: 2, 4
Код, который я написал, используя циклы for, дает мне правильный результат.
fileList = c("a.txt", "b.txt", "c.txt")
for(i in 1:length(fileList)){
tempDF = read.table(fileList[1], header = T, stringsAsFactors = F)
if(i == 1){
commons = tempDF$x
}else{
commons = intersect(commons, tempDF$x)
}
}
print(commons)
Однако у меня возникли некоторые проблемы при переписывании с использованием функции lapply. Как lapply сохраняет значение переменных «commons» без замены?
lapply(fileList, function(x) getCommons(x))
getCommons <- function(file){
fileData = read.table(file, header = T, stringAsFactor = F)
commons = intersect(commons, fileData)
}