У меня есть несколько списков: скажем, список1, список2,.... и список 100 и функция myfun
. С ними я могу запустить Map(myfun,list1,list2,...,list100)
. Однако я не хочу записывать все номера списка, поэтому я попробовал Map(myfun,mget(paste0("list",1:100)))
. Но это не сработало. Воспроизводимый пример только с тремя списками приведен ниже:
x1<-list(1:10,10:20)
x2<-list(0:9,11:20)
x3<-list(100:109,41:50)
Map(rbind,x1,x2,x3) #ok
mget(paste0("x",1:3)) #ok
Map(rbind,mget(paste0("x",1:3))) #ok but the unexpected output
Map(rbind,mget(paste0("x",1:3)))
$x1
[,1] [,2]
[1,] Integer,10 Integer,10
$x2
[,1] [,2]
[1,] Integer,10 Integer,10
$x3
[,1] [,2]
[1,] Integer,10 Integer,10
mget
возвращает список списков, по сравнению с использованием толькоx1
и т. д., которые являются отдельными объектами списка. - person David Arenburg   schedule 01.03.2015Reduce(function(...) Map(rbind, ...), mget(paste0("x",1:3)))
- person David Arenburg   schedule 01.03.2015