2013-05-18 40 views
0

我有這兩個表:插入新行的表R的頂部

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 

請幫助,非常感謝。

回答

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 
+0

這是我會如何解釋這個問題爲好,但我想知道他們是否只需要'colnames'? –

+0

這些姓名構成了我的問題。我該如何避免V1,V2,...和第一列1,2,3 –

+0

@HocineBen - 這些colnames有什麼問題?你想打印一些東西嗎?如果你能更清楚地解釋你的問題,也許有人可以提供解決方案。 – Chase