2016-03-19 3 views
0

Я немного смущен здесь: У меня есть эта переменная gene <-c("IDH3G", "SSR4"). когда я c(gene,gene), я получаю: "IDH3G" "SSR4" "IDH3G" "SSR4", но когда я делаю cbind (gene, gene), я получаю:cbind и комбинировать в R

gene gene 
[1,] "IDH3G" "IDH3G" 
[2,] "SSR4" "SSR4" 

не должны ли это быть такой же, как то, что мы получаем от c(gene,gene)? Может кто-то прояснить?

+0

Вы ожидали 'cbind (matrix (gene, nrow = 1), matrix (gene, nrow = 1))'? – baptiste

+0

@baptiste Да, это то, чего я ожидал, например, если 'gene' имел несколько строк. – MAPK

ответ

2

Функция c Функция объединяет векторы и генерирует векторный символ.

class(c(gene,gene)) 
[1] "character" 

но cbind (gene, gene) рассматривать gene как вертикального вектора и объединить их, чтобы сделать матрицу:

class(cbind (gene, gene)) 
[1] "matrix" 

С R помощью ?cbind:

Комбайн R объектов по строкам или столбцам

Описание:

Take a sequence of vector, matrix or data-frame arguments and 
combine by _c_olumns or _r_ows, respectively. These are generic 
functions with methods for other R classes. 
+0

Спасибо, понял! 'cbind' всегда упорядочивает векторный элемент в серпантинном порядке по матрице. – MAPK

Смежные вопросы