2017-03-24 16 views
0

Rのデータフレームに別のデータフレームのベクトルに基づいて新しいベクトルを作成しようとしています。ベクトルを生成する:1つのベクトルの値が別のベクトルと一致する場合、同じ位置に別のベクトルの値を入力します。

私はアウトレット番号を含むデータフレームを持っています。どのコンセント名がどのコンセント番号に対応しているかを示す別のデータフレーム(一致表)。コンコードテーブルを使用して、私は最初のデータフレーム内の各コンセント番号のアウトレットの名前を見つけて、これらを最初のデータフレームに新しいベクトルとして入れたいと思います。 concordance$outlet

のベクトル内の同じ位置にconcordance$outletnameの値を返すdf1$outlet == concordance$outletときここ

は私のデータ

outlet <- rep(1:26) 
outletname <- letters[1:26] 
concordance <- data.frame(outlet, outletname) 
df1 <- data.frame(outlet) 

の一例である私が何をしたいのか、Rに言っている人がいこれを行う方法を知っていますか?ご協力いただき誠にありがとうございます。

+2

これはちょうど私が思うところのマージです - 'merge(df1、concordance、by =" outlet ")' – thelatemail

+0

ありがとう。それは間違いありません。 – Laura

答えて

2

df1$outletのデータは、すべての点ですでにconcordance$outletに等しいです。私はあなたがそれは本当ではない場合でも動作します何かをしたいと仮定し、それでは、私たちはすべてのケースで作品を何ことを確認するために最初のデータをスクランブルしましょう:

set.seed(123) 
df1 = df1[sample(1:nrow(df1)), , drop = FALSE] 

次に、あなたが出口名にマージすることができます。

df1 = merge(df1, concordance, by="outlet", sort = FALSE) 
関連する問題