2
我有一個表作爲數據框的行如下:在R:重新排序基於那些在另一個表
tab1 <- as.table(matrix(c(8,6,9,0,8,4,0,12,7,10), ncol = 2, byrow = FALSE,
dimnames = list(site = c("beta", "alpha", "gamma", "theta", "delta"),
count = c("low", "high"))))
> tab1
count
site low high
beta 8 4
alpha 6 0
gamma 9 12
theta 0 7
delta 8 10
和映射網站名稱的siteID的一個data.frame:
data.frame(site = c("alpha", "beta", "gamma", "delta", "theta"), siteId = c(1102, 3154, 9000, 1101, 1103))
site siteId
1 alpha 1102
2 beta 3154
3 gamma 9000
4 delta 1101
5 theta 1103
最後,我有一個包含這些的siteID的和其他一些變量data.frame:
data.frame(siteId = c(1101, 1102, 1103, 3154, 9000), treatment = c("A", "B", "C", "E", "F"))
siteId treatment
1 1101 A
2 1102 B
3 1103 C
4 3154 E
5 9000 F
我需要什麼,能夠做我s到訂購的相同方式,在TAB1的排奉命最後的數據幀中的列,所以它應該產生:
siteId treatment
1 3154 E
2 1102 B
3 9000 F
4 1003 C
5 1001 A
我怎麼能做到這一點,沒有複雜的循環互動?實際的數據集非常大,因此循環會花費比我想要的更多的時間。
感謝您發現相關問題,它比我的稍微簡單一些,但確實非常相似。 – 2014-09-03 19:23:45