簡體   English   中英

考慮到數據框的一列中存在重復項,如何刪除數據框中的行

[英]How to remove rows in a dataframe considering there are duplicates in one column of dataframe

嗨,親愛的,我在一個具有重復列的數據框上有一個小問題。 我想刪除列重復的行。 例如我的數據框是這樣的:

Value   City    Card.Type   ID
100   Michigan    Silver    001
120   Angeles     Gold      002
NA    Kansas      Gold      002
500   Michigan    Silver    001
800   Texas       Basic     005

您可以看到在ID列中有兩個重復項,一個重復為001 ,一個重復為002 我使用的是unique功能,但我無法刪除這些重復項。 我想找一個這樣的人:

 Value   City    Card.Type   ID
 100   Michigan    Silver    001
 120   Angeles     Gold      002
 800   Texas       Basic     005

謝謝你的幫助。

僅應使用其“正”版本來使用。 在使用施工哪位()的危險是,當沒有行或項目匹配測試,的結果which()numeric(0)-numeric(0)將返回“無”,當正確的結果就是“一切”。 使用用途:

 dat[!duplicated(dat), ]  

在這種情況下,沒有重復的行,但是OP認為應該刪除一些行,因此很明顯它僅在考慮兩三列。 這很容易容納。 只需對2或3列進行重復測試:

 dat[ !duplicated(dat[ , 2:3] ) , ]

使用duplicated的功能。

就像是:

data.subset <- data[!duplicated(data$ID),]

復制返回真/假向量。 向量中的第二個重復條目將始終返回TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM