моя проблема:
У меня есть список с 8 фреймами данных с разными именами столбцов и похожими именами, поэтому я хочу связать эти фреймы данных по совпадению столбцов. Например, в этом случае
Мне нужно выровнять строки столбцов Yd; Yc; Yb; Ya.
myList<-list(
data.frame(Ya=sample(letters[1:3]),ZYa=sample(1:3),BYa=sample(1:3)),
data.frame(Yb=sample(letters[1:2]),ZYb=sample(1:2),BYb=sample(1:2)),
data.frame(Yc=sample(letters[1:4]),ZYc=sample(1:4),BYc=sample(1:4)),
data.frame(Yd=sample(letters[1:5]),ZYd=sample(1:5),BYd=sample(1:5)))
myList
[[1]]
Ya ZYa BYa
1 b 3 1
2 a 2 2
3 c 1 3
[[2]]
Yb ZYb BYb
1 b 2 2
2 a 1 1
[[3]]
Yc ZYc BYc
1 c 2 2
2 b 3 4
3 d 4 3
4 a 1 1
[[4]]
Yd ZYd BYd
1 e 5 2
2 d 1 5
3 a 2 4
4 b 3 1
5 c 4 3
Мой ближайший подход был:
library(tidyverse)
library(gdata) #Including cbindX function
myDataFrame<-mylist %>%
do.call(cbindX,.)
поэтому у меня есть такой фрейм данных:
Ya ZYa BYa Yb ZYb BYb Yc ZYc BYc Yd ZYd BYd
1 b 3 1 b 2 2 c 2 2 e 5 2
2 a 2 2 a 1 1 b 3 4 d 1 5
3 c 1 3 NA NA NA d 4 3 a 2 4
4 NA NA NA NA NA NA a 1 1 b 3 1
5 NA NA NA NA NA NA NA NA NA c 4 3
Но мне нужно что-то вроде этого:
Ya ZYa BYa Yb ZYb BYb Yc ZYc BYc Yd ZYd BYd
1 b 3 1 b 2 2 b 3 4 b 3 1
2 a 2 2 a 1 1 a 1 1 a 2 4
3 c 1 3 NA NA NA c 2 2 c 4 3
4 NA NA NA NA NA NA d 4 3 d 1 5
5 NA NA NA NA NA NA NA NA NA e 4 3
Не могли бы вы мне помочь? Спасибо!