do.call (rbind, list) pour un nombre impair de colonnes

J'ai une liste, chaque élément étant un caractère de vecteur, de longueurs différentes
Je voudrais lier les données sous forme de lignes, de sorte que les noms de colonne "line up" et si vous disposez de plus de données, puis créer la colonne et s'il manque de données, puis créer NAs

Ci-dessous est un exemple fictif de données, je travaille avec

x <- list()
x[[1]] <- letters[seq(2,20,by=2)]
names(x[[1]]) <- LETTERS[c(1:length(x[[1]]))]
x[[2]] <- letters[seq(3,20, by=3)]
names(x[[2]]) <- LETTERS[seq(3,20, by=3)]
x[[3]] <- letters[seq(4,20, by=4)]
names(x[[3]]) <- LETTERS[seq(4,20, by=4)]

La ligne ci-dessous devrait normalement être ce que je ferais si j'étais sûr que le format de chaque élément a été la même...

do.call(rbind,x)

J'espérais que quelqu'un était venu avec une belle petite solution qui correspond à la colonne des noms et remplit les blancs avec NAs, tandis que l'ajout de nouvelles colonnes si dans le processus de liaison de nouvelles colonnes sont trouvés...

source d'informationauteur h.l.m