2016-03-25 13 views
0

から複数の値を持つ1つのデータフレームからの値に一致Rは - たとえば、別の

d1 <- data.frame(c(a,b,c,d,e,f)) 
d2 <- data.frame(c(a,a,a,b,b,d,d,d,d,d,e,e,f)) 

...私は2つのデータフレームを持っていると言うと、私は「」D1からD2に検索したいとベクトルに格納できるすべての一致する値のインデックスを表示します。

Match()関数を検索して試しましたが、一致する値が1つしかない場合にのみ動作します。あなたが最初data.frameをループ、別の複数の値を持つ1つのデータフレームから値を可能性が一致し、それぞれの値について秒でindiceを取得するために

おかげ

+1

サンプルデータの出力はどのようになりますか? –

+2

'(d2 ==" a ")'? – JasonAizkalns

+0

これらの文字がオブジェクトでない限り、それらは引用符で囲む必要があります。また、変数名がグロスにならないようにする必要があります。また、[dataframes]ではなく[data.frame]タグを探しています。 – alistaire

答えて

1

d1 <- data.frame(x = c("a","b","c","d","e","f"), stringsAsFactors = F) 
d2 <- data.frame(x = c("a","a","a","b","b","d","d","d","d","d","e","e","f"), stringsAsFactors = F) 

sapply(d1$x, function(value) which(d2 == value)) 
#> $a 
#> [1] 1 2 3 
#> 
#> $b 
#> [1] 4 5 
#> 
#> $c 
#> integer(0) 
#> 
#> $d 
#> [1] 6 7 8 9 10 
#> 
#> $e 
#> [1] 11 12 
#> 
#> $f 
#> [1] 13 
+0

(d2 == value))は私が探していたものです。ありがとうございました。 – Gary866

関連する問題