我有一个如下所示的数据框:
set.seed(33)
df <- data.frame(
x=as.character(sample(1:100, replace = FALSE)),
y=as.character(sample(1:100, replace = FALSE)),
stringsAsFactors = FALSE)
我有一个变量x
子集的向量ValuesColx <- as.character(sample(df$x,5))
print(ValuesColx)
[1]&#34; 10&#34; &#34; 23&#34; &#34; 43&#34; &#34; 28&#34; &#34; 27&#34;
我的目标是获得一个带有变量y的相应值的向量。 我的预期输出将是:c(&#34; 1&#34;,&#34; 62&#34;,&#34; 83&#34;,&#34; 82&#34;,&#34; 70&# 34)
答案 0 :(得分:1)
df$y[df$x%in%ValuesColx];
## [1] "82" "70" "62" "83" "1"
或者,匹配预期输出中的顺序:
df$y[match(ValuesColx,df$x)];
## [1] "1" "62" "83" "82" "70"