Этот вопрос является продолжением моего предыдущего вопроса . В этом вопросе после моего split.default()
звонка ниже я получаю с именем list
data.frames, который называется L
.
Qs: Мне было интересно, как я могу сжать каждый data.frame в L
, каждый столбец которого состоит из постоянного числа? (Как насчет того, если я знаю имена data.frames, столбцы которых являются постоянными числами?)
Мой желаемый вывод показан ниже.
r <- list(
data.frame(study.name = rep("Jacob", 6),
X = c(2,2,1,1,NA, NA),
Y = c(1,1,1,2,1,NA),
A = rep(1, 6),
B = rep(4, 6)),
data.frame(study.name = rep("Jon", 6),
X = c(1,NA,3,1,NA,NA),
G = c(1,1,1,2,NA,NA),
A = rep(3, 6),
B = rep(7, 6)))
DATA <- do.call(cbind, r)
nm1 <- Reduce(intersect, lapply(r, colnames))[-1]
L <- split.default(DATA[names(DATA) %in% nm1], names(DATA)[names(DATA) %in% nm1])
Желаемыйвывод:
# $A
# A A.1
# 1 1 3
# $B
# B B.1
# 1 4 7
# $X
# X X.1
# 1 2 1
# 2 2 NA
# 3 1 3
# 4 1 1
# 5 NA NA
# 6 NA NA