根据变量A的值找到变量B的对应值

时间:2015-05-21 17:37:28

标签: r

我有一个如下所示的数据框:

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)

1 个答案:

答案 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"