Слияние большого количества data.frames

Возможный дубликат:
Объединение нескольких кадров данных в список одновременно

пример data.frames :

  df1 = data.frame(id=c('1','73','2','10','43'),v1=c(1,2,3,4,5)) 
df2 = data.frame(id=c('7','23','57','2','62','96'),v2=c(1,2,3,4,5,6))
df3 = data.frame(id=c('23','62'),v3=c(1,2))

Примечание. id уникален для каждого файла data.frame. Я хочу, чтобы результирующая matrix выглядела как

 1 1 NA NA 2 3 4 NA 7 NA 1 NA 10 4 NA NA 23 NA 2 1 43 5 NA NA 57 NA 3 NA 62 NA 5 2 73 2 NA NA 96 NA 6 NA 

В этом случае я показываю только 3 набора данных, у меня на самом деле есть как минимум 22 из них, поэтому в конце мне нужна matrix nx (22 + 1), где n – количество идентификаторов для всех 22 наборов данных.

Учитывая 2 набора данных, мне нужно получить их ids в первом столбце, а 2-й и 3-й столбцы заполнены значениями, если нет значения, а затем введите NA .

    Поместите их в list и используйте merge с Reduce

     Reduce(function(x, y) merge(x, y, all=TRUE), list(df1, df2, df3)) # id v1 v2 v3 # 1 1 1 NA NA # 2 10 4 NA NA # 3 2 3 4 NA # 4 43 5 NA NA # 5 73 2 NA NA # 6 23 NA 2 1 # 7 57 NA 3 NA # 8 62 NA 5 2 # 9 7 NA 1 NA # 10 96 NA 6 NA 

    Вы также можете использовать эту более сжатую версию:

     Reduce(function(...) merge(..., all=TRUE), list(df1, df2, df3)) 
    Interesting Posts

    Как рассчитать расстояние от точки до сегмента линии, на сфере?

    Как я могу реализовать onchange с помощью jQuery?

    Сделать регистр с регулярным выражением нечувствительным в ASP.NET RegularExpressionValidator

    Как включить зависимость библиотечного модуля в проекте Android Studio?

    В каком порядке выполняются статические блоки и блоки инициализации при использовании наследования?

    Сопоставьте все, кроме указанных строк

    @Scope (“prototype”) bean scope, не создающий новый bean-компонент

    Как реализовать обновление установщика WiX?

    Rails: fields_for с индексом?

    В чем разница между IEnumerator и IEnumerable?

    Как я могу исправить «ПРЕДУПРЕЖДЕНИЕ: сообщение не защищено целостностью» при использовании симметричного шифрования GPG?

    В чем разница между синхронизацией на lockObject и использованием этого как блокировки?

    Почему у меня нет права на создание текстового файла в корневом каталоге?

    Могу ли я удалить словарные записи в Word?

    Почему инициализаторы коллекции C # работают таким образом?

    Давайте будем гением компьютера.