2017-05-10 3 views
1

はじめに:私はPandasに慣れていましたが、Rには新しいです。この質問は非常に基本的なRをカバーすると確信しています。何を検索するかこれは最も重複している可能性が高いです - 私に知らせてください、私は喜んで削除し、答えを見つけることを行くでしょう。列の値の等価性をテストし、新しい列に値を設定する方法

「あなたはここで何を試しましたか」の隣には気づいています。あなたが私にいくつかの文書を指摘することさえできるなら、私はこれを削除してそれを読んで行くでしょう。私は一致してdata$name == key$letterを見つけ、そして返す関数を書きたい

key= 
letter id 
A  0 
B  1 
C  2 

data= 
name value 
A  24 
C  46 
B  36 
C  5 

:あなたの助け:)

ため

多くのおかげで私は2つのデータフレームを持っています新しい列のkey$idに対応する値はdataです。

出力データフレームは、ようになります。

data 
name value id 
A  24 0 
C  46 2 
B  36 1 
C  5 2 

は基本的に私は、参照データフレームとしてkey使用したいです。

私はnp.whereapplymatchlocを使用してPythonで自明これを行うことができますが、Rには、私はどこから始めには考えています。

whichapplyindexcompareで私はこの文章を書く方法を理解することができませんでした。

Return indices of rows whose elements (columns) all match a reference vector Finding the index inside a vector satisfying a condition How to find the indices of an R list meeting multiple criteria Is there an R function for finding the index of an element in a vector? Compare two data.frames to find the rows in data.frame 1 that are not present in data.frame 2

あなたは助けることはできますか?

+1

最後のリンクには、これを行う方法の1つである「一致()」が表示されます。 'key $ id [match(data $ name、key $ letter)]] – Frank

+1

http://stackoverflow.com/questions/1299871/how-to-join-merge-data-frames-inner-outer-left-right – LyzandeR

+0

@フランクあなたの助けに多くのおかげで、私は見てみましょう:) – Chuck

答えて

0
tt <- match(data$name, key$letter) 
data$id <- key$id[tt] 
関連する問題