我有两个数据框,并且正在尝试使用另一个矢量作为索引创建一个由来自数据框的列的选择组成的矢量。使用另一个作为索引以创建新矢量以从数据框中选择数据
这里有两个数据帧作为说明性示例:
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