Функция do.call(rbind, list)
сделает rbind всех элементов списка. Вы не добавляете этот список к оригиналу. Что вы можете сделать:
foobar2 <- do.call(rbind,foobar_vol_mtd)
foobar <- rbind(foobar, foobar2)
rbind все элементы в этом списке вместе, а затем rbind результат к оригиналу.
Result:
Volume
1970-01-01 0.8995890
1970-01-01 0.8995890
1970-01-02 -0.5057975
1970-01-02 0.3937916
1970-01-03 -0.1861275
1970-01-03 0.2076641
1970-01-04 -1.1641303
1970-01-04 -0.9564663
1970-01-05 0.3157536
1970-01-05 -0.6407127
Результаты будут изменяются из-за rnorm(5)
и отсутствия начального набора.
Добавить как новые столбцы
Как я уже сказал, rbind
добавляет новые строки, и все столбцы должны быть одинаковыми , Если вы хотите добавить новый столбец, попробуйте:
foobar2 <- do.call(rbind,foobar_vol_mtd)
foobar3 = merge(foobar, foobar2)
Мой результат для этого случая (новые случайные значения, поэтому не сравнивайте с приведенным выше):
Volume Volume.1
1970-01-01 1.96291153 1.9629115
1970-01-02 -0.41771710 1.5451944
1970-01-03 -0.08827657 1.4569179
1970-01-04 -0.57243569 0.8844822
1970-01-05 -0.06093953 0.8235426
Затем измените имя столбца с помощью names(foobar)[2] = "new_name"
.
Вы можете также переименовать перед объединением:
foobar2 <- do.call(rbind,foobar_vol_mtd)
names(foobar2) = 'newname'
foobar3 = merge(foobar, foobar2)
И объединение будет выполнено с указателем времени, как и раньше.