私のデータは次のとおりです。列内の文字に次の行を比較
Name House Street Apt City Postal Phone
Bob Joe 954 BLUE DRIVE NA A PLACE Z5K4N2 999-495-6544
Smith Jane 555 BLUE DRIVE NA A PLACE Z5K4N5 999-435-6172
Smith Jane 555 BLUE DRIVE NA A PLACE Z5K4N5 999-450-6763
等しく、家#が等しい場合、それぞれの2を連結、私は名前を比較しようとしています(動的に、データがハウスでソートされます)電話番号を削除し、連結されていない行を削除します。
Name House Street Apt City Postal Phone
Bob Joe 954 BLUE DRIVE NA A PLACE Z5K4N2 999-495-6544
Smith Jane 555 BLUE DRIVE NA A PLACE Z5K4N5 999-435-6172 OR 999-450-6763
私の試み:
だから、この後のようになります
for(x in 1:nrow(data)) {
if(data$Name[x] == data$Name[x+1]) {
data$NameDupes <- data$Name[x] }
}
し、その使用後の
aggregate: aggregate(Phone ~ Name + Street + City + Postal + Apt + House, data = df, paste, collapse = " OR ")
し、その後、使用上の参加私のオリジナルdf。
おかげ
あなた 'アプト変数は、NASが含まれているためaggregate'コードが失敗しています、グループ化変数として適切に使用することはできません。これを修正するには、これらの値を「NONE」または0などに変更します。たとえば、 'df $ Apt [is.na(df $ Apt)] < - " "'そして最後のコード行は、あなたの例で2行目と3行目を組み合わせて動作します。 – lmo