【发布时间】:2015-11-30 23:39:31
【问题描述】:
我有三个数据框,每个数据框都有一个标识符作为行名,一个索引作为列值。我想用
将这三个绑定在一起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
【问题讨论】: