私は現在重複した水の権利を見ている大きなデータセットで作業しています。各権利保有者にはRightIDが割り当てられていますが、一部は事務目的で2回記録されています。しかし、いくつかの権利IDは複数回リストされ、私の最終目標との関連性があります。 1つの例:メタル・タグ番号が特定の水の権利に割り当てられている場合は、二重入力があります。重要な情報を重複してカウントするのを避けるため、私は観測を削除する必要があります。私はこの時点で書かれているR(20K観測)の重複を条件付きで削除
、
#Updated Metal Tag Number
for(i in 1:nrow(duplicate.rights)) {
if([i, "RightID"]==[i-1, "RightID"] & [i,"MetalTagNu"]=![i-1, "MetalTagNu"]){
remove(i)
}
print[i]
}
元のデータフレームが同様に設定されている:
RightID Source Use MetalTagNu
1-0000 Wolf Creek Irrigation N/A
1-0000 Wolf Creek Irrigation 12345
1-0001 Bear River Domestic N/A
1-0002 Beaver Stream Domestic 00001
1-0002 Beaver Stream Irrigation 00001
例えば権利者1-0002は、彼が2つの異なる目的のために彼の水を正しく使用しているので、保持する必要があります。ただし、権利者1-0000は不要です。
右の所有者1-0000私は排除する必要がありますが、右の所有者1-0002は私の最終目標にとって貴重です。また、1つのrightIDに対して最大10個のエントリがあることに注意してください。ただし、10個のうち1個だけが不要な重複です。また、複製と元のエントリは、データセット内で互いに隣り合うことはありません。
私は非常に初心者ですので、私の貧しい以前の試みを許してください。私はl apply
機能を使用して、これをより迅速かつ効率的に行うことができることを知っています。そこにはどんな指導も大変ありがとうございます。
データフレーム – rgunning
の削除を示す最小限の作業例をここに回答してください...[https://stackoverflow.com/questions/13967063/remove-duplicated-rows](https://stackoverflow.com/questions/13967063/remove-duplicated-rows) –