我有兩個數據框,並且正在嘗試使用另一個矢量作爲索引創建一個由來自數據框的列的選擇組成的矢量。使用另一個作爲索引以創建新矢量以從數據框中選擇數據
這裏有兩個數據幀作爲說明性示例:
PIN <- c("case1", "case2", "case3", "case4", "case5")
TS <- c("TS1", "TS4", "TS5", "TS1", "TS2")
index <- data.frame(PIN, TS)
PIN <- c("case1", "case2", "case3", "case4", "case5")
TS1 <- c(1, 2, 3, 4, 5)
TS2 <- c(6, 7, 8, 9, 10)
TS3 <- c(11, 12, 13, 14, 15)
TS4 <- c(16, 17, 18, 19, 20)
TS5 <- c(21, 22, 23, 24, 25)
data <- data.frame(PIN, TS1, TS2, TS3, TS4, TS5)
我想創建作爲輸出的矢量爲:
c(1, 17, 23, 4, 10)
謝謝!
類似於第二種方法:'data [-1] [cbind(match(index $ PIN,data $ PIN),match(index $ TS,names(data)[ - 1]))]''。不確定在效率方面哪個更好,但是這個避免了as.numeric'調用。 – lmo
This Works,thank you! – Jklein