我想根據多列中的值刪除我的數據集中的特定行。只有滿足所有3列中的條件時才應刪除行。使用dplyr刪除基於多個條件的行
這是我的代碼:
test_dff %>%
filter(contbr_nm != c('GAITHER, BARBARA', 'PANIC, RADIVOJE', 'KHAN, RAMYA') &
contbr_city != c('APO AE', 'PORSGRUNN', 'NEW YORK') &
contbr_zip != c('9309', '3924', '2586'))
此代碼應該刪除我的表12行。相反,它消除了絕大多數。我懷疑,它會刪除所有可能的行,只要滿足其中一個條件。
有沒有更好的解決方案,還是我必須使用的方法,描述here?
我是否需要分別指定每個組合?像這樣?這種方法也會刪除太多的行,所以它也是錯誤的。
test_dff %>%
filter((contbr_nm != 'GAITHER, BARBARA' & contbr_city != 'APO AE' & contbr_zip != '9309') &
(contbr_nm != 'PANIC, RADIVOJE' & contbr_city != 'PORSGRUNN' & contbr_zip != '3924') &
(contbr_nm != 'KHAN, RAMYA' & contbr_city != 'NEW YORK' & contbr_zip != '2586'))
如果我專注於刪除行只基於一個變量,這段代碼的工作原理:
test_dff %>%
filter(contbr_zip != c('9309')) %>%
filter(contbr_zip != c('3924')) %>%
filter(contbr_zip != c('2586'))
爲什麼這樣的做法行不通?
test_dff %>%
filter(contbr_zip != c('9309','3924','2586'))
非常感謝您的幫助。
請提供可重複的數據集,還包括你想要的輸出中。目前還不完全清楚你想要做什麼。 – lmo
感謝您的留言,並抱歉沒有提供更多信息。我從紐約州http://classic.fec.gov/disclosurep/pnational.do下載了美國總統競選捐款(2016年)的數據集。我正在嘗試清理所有非有效郵政編碼的數據集。我想刪除符合我的代碼中提到的3列的特定行。 – Trgovec
也許你在'%in%'之後? –