2016-10-06 1 views
1

У меня очень простая проблема, но я не могу понять это. Я проработал несколько часов, а затем прочитал ответы Stackoverflow, но ни один из них не обратился непосредственно к моей проблеме. Я должен динамически добавлять столбцы в dataframe. Скажем, у меня есть:Слияние кадров данных с отсутствующими значениями по его координате

df1 <- data.frame (c("a","b","c","d")) 
df2 <- data.frame (c("aa", "bb", "ccc")) 
df3 <- data.frame (c("aaa", "bbb")) 
df4 <- data.frame (c("aaaa")) 
df5 <- data.frame() 

Обратите внимание, что никто их не имеет одинаковое количество строк, не имеют значения первичных ключей. И один из них пуст. Как я могу объединить эти 5 кадров данных по их координатам в одном информационном кадре df6, заполнив недостающие значения N/A?

Чтобы быть более конкретным, я хочу, чтобы конечный результат будет как: df6

a aa aaa aaaa N/A 
b bb bbb N/A N/A 
c cc N/A N/A N/A 
d N/A N/A N/A N/A 
+0

Что такое ожидаемые результаты когда 'df3 <- data.frame (c (" aaa "," ccc "))'? – zx8754

+0

Я написал ожидаемый результат в вопросе. который является df6 –

+0

Прочтите выше комментарий снова, пожалуйста. Вы хотите выстроить буквы? Как на 1-й строке, Bs на 2-й строке и т. Д.? – zx8754

ответ

1

Вы можете использовать cbind.fill функцию из rowr пакета с fill опции, как NA

library(rowr) 
cbind.fill(df1, df2, df3, df4, df5, fill = NA) 


1 a aa aaa aaaa NA 
2 b bb bbb <NA> NA 
3 c ccc <NA> <NA> NA 
4 d <NA> <NA> <NA> NA 
Смежные вопросы