2016-10-17 21 views
-1

を避けるために、私はこのデータフレームR比較重複

`> str(AMComp) 
'data.frame': 1300697 obs. of 8 variables: 
$ Commodity.Code  : chr "H0-842481" "H0-842481" "H0-842481" "H0-842481" ... 
$ Commodity.Description: chr "Agricultural sprays and powder dispersers" "Agricultural sprays and powder dispersers" "Agricultural sprays and powder dispersers" "Agricultural sprays and powder dispersers" ... 
$ Period    : int 1988 1988 1988 1988 1988 1988 1988 1988 1988 1988 ... 
$ Reporter    : chr "Australia" "Australia" "Australia" "Australia" ... 
$ Partner    : chr "Areas, nes" "Argentina" "Austria" "Brazil" ... 
$ Value.Import   : num 156 NA 425739 16623 6930 ... 
$ Value.Export   : num NA 3025 NA NA 70355 ... 
$ Trade.Difference  : num NA NA NA NA -63425 ...` 

を持っている私は、変数Reporterに、変数Partnerに、いくつかの矛盾があることに気づきました。例えば、Reporterは、自分自身に物を輸入または輸出したと主張しています。

今、これらの不一致を取り除かなければなりません。変数Reporterと変数Partnerが一致するすべてのケースでは、それらの観測結果を最終的に削除するためにフラグを立てる必要があります。

+0

おそらく 'AMComp < - AMComp [AMComp $ Reporter!= AMComp $ Partner、] 'ですか? – zx8754

+0

[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)と[再現可能な例を与える方法](http://stackoverflow.com/questions)の情報をお読みください。/5963269)。これは他の人があなたを助けることをはるかに容易にします。 – zx8754

答えて

1

あなたはReporterはそれ以外のパートナーと0に等しいとき1のシンプルなフラグを作成することができます:あなたが問題のエントリを削除したい場合は、単に行うことができます

AMComp$flag <- ifelse(AMComp$Reporter == AMComp$Partner, 1,0) 

を:

AMComp_clean <- AMComp[AMComp$flag == 0,] 

ここで、AMComp_cleanは新しいクリーンデータフレームです。

+0

ありがとう!それは完全に動作します。 – Ileeo

+0

問題はありませんが、答えに満足すれば正しいとマークできますか? ;) – thepule