在下面的例子中,我有兩個數據集(Z和A)。我想通過ILMN號碼合併或組合這些集合。如果沒有匹配,請填寫NA。rownames合併或合併
z <- matrix(c(0,0,1,1,0,0,1,1,0,0,0,0,1,0,1,1,0,1,1,1,1,0,0,0,"RND1","WDR", "PLAC8","TYBSA","GRA","TAF"), nrow=6,
dimnames=list(c("ILMN_1651838","ILMN_1652371","ILMN_1652464","ILMN_1652952","ILMN_1653026","ILMN_1653103"),c("A","B","C","D","symbol")))
t<-matrix(c("GO:0002009", 8, 342, 1, 0.07, 0.679, 0, 0, 1, 0,
"GO:0030334", 6, 343, 1, 0.07, 0.065, 0, 0, 1, 0,
"GO:0015674", 7, 350, 1, 0.07, 0.065, 1, 0, 0, 0), nrow=10, dimnames= list(c("GO.ID","LEVEL","Annotated","Significant","Expected","resultFisher","ILMN_1652464","ILMN_1651838","ILMN_1711311","ILMN_1653026")))
其結果將是這樣的:
[,1] [,2] [,3] [,4]
GO.ID "GO:0002009" "GO:0030334" "GO:0015674" NA
LEVEL "8" "6" "7" NA
Annotated "342" "343" "350" NA
Significant "1" "1" "1" NA
Expected "0.07" "0.07" "0.07" NA
resultFisher "0.679" "0.065" "0.065" NA
ILMN_1652464 "0" "0" "1" PLAC8
ILMN_1651838 "0" "0" "0" RND1
ILMN_1711311 "1" "1" "0" NA
ILMN_1653026 "0" "0" "0" GRA
你的回答是非常有用的感謝。唯一的問題是我的代碼沒有給出正確的輸出。如果我只考慮這個:z [,「symbol」] [match(rownames(t),rownames(z))]一個因子是用NA和符號創建的,但是當我執行cbind時,符號數量被替換爲rondom值。有誰知道這是錯的?謝謝 – Lisann 2011-05-17 11:19:03
請更正您的PS中的錯誤。你不會覆蓋't'功能。您正在爲用戶造成混淆,但數據和功能存儲在不同的地方。繼續,測試它:t < - 矩陣(1:4,2,2); t(t)...有效。 – 2011-05-17 12:13:42
此解決方案是否適用於外連接? – 2016-09-09 13:22:43