2015-05-21 122 views
1

我有一個數據幀,其看起來像這樣:查找變量B的對應值A

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]「10」「23」「43」「28」「27」

我的目標是獲取變量y的相應值的向量。 我的預期輸出將是:C( 「1」, 「62」, 「83」, 「82」, 「70」)

+0

爲什麼不做'Values < - df [sample.int(nrow(df),5),]'? –

回答

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" 
+0

替代做了這個工作,thx! – Roccer

相關問題