R 按键返回值

R 按键返回值,r,key,R,Key,是否有一种较短的方法按key元素给出的顺序按key返回值 vars<-c("a"=1,"b"=2) key<-c("b","a") ret<-c() for(k in key) ret<-c(ret,vars[names(vars) %in% k]) ret vars我相信你只是想要vars[key]我认为intersect对你可能有用 vars[ intersect(key,names(vars)) ] #b a #2 1 不,因为首先我想检查%key中的名称(变

是否有一种较短的方法按key元素给出的顺序按key返回值

vars<-c("a"=1,"b"=2)
key<-c("b","a")
ret<-c()
for(k in key)
ret<-c(ret,vars[names(vars) %in% k])
ret

vars我相信你只是想要
vars[key]
我认为
intersect
对你可能有用

vars[ intersect(key,names(vars)) ]
#b a 
#2 1

不,因为首先我想检查%key中的名称(变量)%是否正确。你的评论对我来说没有意义。如果我的答案对您没有帮助,您需要更清楚地解释您想要实现的目标。也许
vars[key[key%in%names(vars)]]
?我想说克劳斯没有给我们一个有代表性的例子是你的错……或者干脆
na.omit(vars[key])
来处理
key
中没有出现在
vars
@Klaus中的条目怎么样?我必须同意弗洛德尔的观点。你的问题并不明确或特别清楚,可悲的是,这在你之前的问题中并不罕见。你应该多花些时间把问题弄清楚。@flodel我有时会把裤子弄得乱七八糟。这很管用。让我们提到它假设
没有重复项,这是OP当前示例的情况。