У меня есть три кадра данных, каждый с идентификатором в виде имени строки и индексом в качестве значения столбца. Я хочу связать эти три вместе с
all_indexes <- cbind(res_RNA_1,res_RNA_2,res_RNA_3)
но это делает значение столбца для res_RNA_2
и res_RNA_3
таким же, как res_RNA_2
. Ниже приведен заголовок фреймов данных.
> head(res_RNA_1)
index_1
ENSG00000259884 1
ENSG00000166888 2
ENSG00000259954 3
ENSG00000228509 4
ENSG00000266658 5
ENSG00000267598 6
> head(res_RNA_2)
index_2
ENSG00000123358 1
ENSG00000158050 2
ENSG00000120738 3
ENSG00000137312 4
ENSG00000137331 5
ENSG00000131196 6
> head(res_RNA_3)
index_3
ENSG00000123358 1
ENSG00000138166 2
ENSG00000119508 3
ENSG00000158050 4
ENSG00000120738 5
ENSG00000166886 6
а также
> head(all_indexes)
res_RNA_1 res_RNA_2 res_RNA_3
ENSG00000259884 1 1 1
ENSG00000166888 2 2 2
ENSG00000259954 3 3 3
ENSG00000228509 4 4 4
ENSG00000266658 5 5 5
ENSG00000267598 6 6 6
Когда я смотрю на верхнюю строку и выполняю res_RNA_2["ENSG00000259884",]
, я получаю [1] 50491
, поэтому он дает то же значение для res_RNA_2
и res_RNA_3
, что и для res_RNA_1
.
Я протестировал его с кодом ниже, и он делает то, что я ожидаю. Однако я не могу найти то, что я делаю иначе, чем в простом коде ниже.
> test1 <- data.frame(c(1,2,3),row.names=c('a','b','c'))
> test2 <- data.frame(c(2,1,3),row.names=c('a','b','c'))
> test3 <- data.frame(c(3,2,1),row.names=c('a','b','c'))
> test_cbind <- cbind(test1,test2,test3)
> test_cbind
c.1..2..3. c.2..1..3. c.3..2..1.
a 1 2 3
b 2 1 2
c 3 3 1