Вот так выглядит мое рабочее пространство:
list.u = list(list.1 = replicate(n = 10,
expr = {data.frame(Var1 = as.factor(paste0("X", c(1:10))),
Var2 = as.factor(paste0("X", c(11:20))),
value=rnorm(10))},
simplify = F),
list.2 = replicate(n = 10,
expr = {data.frame(Var1 = as.factor(paste0("X", c(1:10))),
Var2 = as.factor(paste0("X", c(11:20))),
value=rnorm(10))},
simplify = F))
list2env(list.u , .GlobalEnv )
names(list.1) <- paste0(LETTERS[1:10],"_NTI")
names(list.2) <- sample(paste0(LETTERS[1:10],"_RC")) # not the same order
###if meaningful can again be possibly converted to
###list.u <- list(list.1, list.2)
То, чего я хочу добиться, - это объединение двух соответствующих data.frames на основе найденной строки _NTI и _RC соответственно:
library(dplyr)
df.A <- list.1$A_NTI %>% right_join(list.2$A_RC, by=c("Var1","Var2"))
df.B <- list.1$B_NTI %>% right_join(list.2$B_RC, by=c("Var1","Var2"))
df.C <- list.1$C_NTI %>% right_join(list.2$C_RC, by=c("Var1","Var2"))
и т. Д. Для каждой пары совпадающих элементов list.1 и list.2
Как я могу это сделать?