У этого есть все признаки того, что это настолько банально глупо, что я пожалею, что спросил об этом на публичном форуме, но теперь я поставил несколько человек в тупик, так что c'est la vie.
Я запускаю следующий блок кода и не получаю ожидаемого результата:
zz <- list(a=list('a', 'b', 'c', 'd'), b=list('f', 'g', '2', '1'),
c=list('t', 'w', 'x', '6'))
padMat <- do.call('cbind', zz)
headMat <- matrix(c(colnames(padMat), rep('foo', ncol(padMat))), nrow=2, byrow=TRUE)
rbind(headMat, padMat)
Я ожидал:
a b c
foo foo foo
a f t
b g w
c 2 x
d 1 6
Вместо этого я получаю:
a b c
a f t
b g w
c 2 x
d 1 6
NULL NULL NULL
Похоже, что он заполняет верхнюю часть rbind за строкой, а затем добавляет в конец строку с NULL-значениями.
Пара примечаний:
Это работает AOK, пока headMat представляет собой одну строку
Для двойной проверки,Я также избавился от dimnames для padMat, это не повлияло на вещи
Другая мысль была о том, что это как-то связано с byrow = TRUE , ното же самое происходит, если вы уберете это