0

我有这两张桌子:

1003 1 0 0 2 0 0 0 0 0 0 0 0 0 
1003 2 0 0 1 0 0 0 0 0 0 0 0 0 
1003 3 2 1 2 2 1 2 1 2 0 0 0 0 
1003 4 2 1 1 2 1 1 1 1 0 0 1 1

snp1 1
snp2 2
snp3 3
snp4 4

我想使用 R 添加第二个表的第一列作为第一个表顶部的行:

snp1 snp2 snp3 snp4
1003 1 0 0 2 0 0 0 0 0 0 0 0 0 
1003 2 0 0 1 0 0 0 0 0 0 0 0 0 
1003 3 2 1 2 2 1 2 1 2 0 0 0 0 
1003 4 2 1 1 2 1 1 1 1 0 0 1 1

请帮忙,非常感谢。

4

1 回答 1

2

你的问题有点含糊。应该是snp1...snp4某种列标题?第一个表中的其他列呢?里面应该填什么?我不知何故怀疑这真的是你想要做的,但这确实回答了你的问题:

#table 1
x1 <- read.table(text = "1003 1 0 0 2 0 0 0 0 0 0 0 0 0 
1003 2 0 0 1 0 0 0 0 0 0 0 0 0 
1003 3 2 1 2 2 1 2 1 2 0 0 0 0 
1003 4 2 1 1 2 1 1 1 1 0 0 1 1", header = FALSE)

#table 2
x2 <- read.table(text = "snp1 1
snp2 2
snp3 3
snp4 4", header = FALSE)

#insert the first column of table 2 into the first row of table 1
x3 <- rbind(c(as.character(x2[,1]), rep(NA, ncol(x1) - nrow(x2))), x1)

导致:

    V1   V2   V3   V4   V5   V6   V7   V8   V9  V10  V11  V12  V13  V14
1 snp1 snp2 snp3 snp4 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
2 1003    1    0    0    2    0    0    0    0    0    0    0    0    0
3 1003    2    0    0    1    0    0    0    0    0    0    0    0    0
4 1003    3    2    1    2    2    1    2    1    2    0    0    0    0
5 1003    4    2    1    1    2    1    1    1    1    0    0    1    1
于 2013-05-18T03:21:13.213 回答