我可以将索引与维护的向量相关联,并且可以通过第二个向量检索吗?
V1<-c("a", "b", "c", "d", "e", "f")
我想将一个类似于以下内容的索引关联起来:
"a" "b" "c" "d" "e" "f"
1 2 3 4 5 6
然后是第二个载体
V2<-c("b", "c", "f")
我应该得到整数2, 3, 6
我知道我可以创建一个包含两列ID=V1 and ixd= 1:length(V1)
和子集V2
的数据框
我想知道是否有更快的方式
答案 0 :(得分:1)
你可以做一个命名向量,即
v1 <- setNames(seq(6), letters[1:6])
#then,
v1[names(v1) %in% c('b', 'c', 'f') ]
#b c f
#2 3 6
请注意,虽然命名向量的值也有名称,但它仍然是数字
或者像@jogo建议的那样,只需
v1[c('b', 'c', 'f')]
#b c f
#2 3 6
答案 1 :(得分:1)
我想提供另一种方式:
V1 <- 1:6
names(V1) <- letters[1:6] # Attach names to your list
V2 <- letters[seq(2,6,2)] # c("b","d","f")
V1[V2]
这给了我
b d f
2 4 6