Как я могу конкатенировать матрицы одинаковых столбцов, но различное количество строк? Например, я
хотите объединить ( dim(a) = 15 7000 )
и b (dim(b) = 16 7000)
, и я хочу, чтобы результат был матрицей столбцов 31
столбцами 7000
. Могу ли я сделать это для матриц разных строк и столбцов? Скажем, я хочу совместить матрицу из 15 строк и 7000 столбцов с другой из 16 строк и 7500 столбцов. Могу ли я создать один набор данных с этим?
Конкатенационные матрицы в R
Ответ 1
Похоже, что вы ищете rbind
:
> a<-matrix(nrow=10,ncol=5)
> b<-matrix(nrow=20,ncol=5)
> dim(rbind(a,b))
[1] 30 5
Аналогично, cbind
укладывает матрицы по горизонтали.
Я не совсем уверен, что вы подразумеваете под последним вопросом ( "Могу ли я сделать это для матриц разных строк и столбцов?" )
Ответ 2
cbindX из пакета gdatastrong > объединяет несколько столбцов различной длины столбцов и строк. Посмотрите страницу здесь:
http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/gdata/html/cbindX.html
Он принимает несколько разделенных запятыми матриц и data.frames в качестве входных данных. Вам просто нужно
install.packages("gdata", dependencies=TRUE)
а затем
library(gdata)
concat_data <- cbindX(df1, df2, df3) # or cbindX(matrix1, matrix2, matrix3, matrix4)