Nur um sicher zu machen .. Sie haben die folgende Liste von data.frames ..
l <- list(data.frame(a=c(1,2,3), b=c(1,2,3)), data.frame(a=c(1,2,3,4), b=c(1,2,3,4)))
l
[[1]]
a b
1 1 1
2 2 2
3 3 3
[[2]]
a b
1 1 1
2 2 2
3 3 3
4 4 4
Wo Sie möchten schließlich einen Vektor (der sich je nach Liste unterscheidet) an alle Datenrahmen in der Liste anhängen. Damit möchten Sie
[[1]]
a b v
1 1 1 a
2 2 2 b
3 3 3 c
[[2]]
a b v
1 1 1 a
2 2 2 b
3 3 3 c
4 4 4 d
Ein Trick, den wir zu dem ersten Gebrauch rbindlist tun können .. alle Rahmen zusammen zu bekommen und halten ist ihre ID
L = rbindlist(l,idcol = TRUE)
Und lassen Sie uns sagen, dass wir auch eine Liste, die wir zu jedem Daten anhängen wollte .frame
v = list(data.frame(v = letters[1:3]), data.frame(v = LETTERS[1:4]))
V = rbindlist(v)
Jetzt können wir eine einfache cbind tun und teilen dann die Liste der .id verwenden, die wir
result = cbind(L,V)
final_result = split(result,on = ".id")
$`1`
.id a b v
1: 1 1 1 a
2: 1 2 2 b
3: 1 3 3 c
$`2`
.id a b v
1: 2 1 1 A
2: 2 2 2 B
3: 2 3 3 C
4: 2 4 4 D
erstellt wir haben noch eine .id col haben umm .. aber das sollte nicht zu viel Mühe sein, um dieses los zu werden.