仅选择r中具有相同id的行

仅选择r中具有相同id的行,r,R,上面是我正在使用的数据帧的head()。它包含7000多行和3000个唯一ID值。我想删除所有只有一个ID值的行。这可能吗?也许解决方案是只保留重复ID的行 以下是我的做法: ID Julian Month Year Location Distance 2 40749 July 2011 8300 39625 2 41425 May 2013 Hatchery 31325 3 40749 July 2011 6950 38625 3 41

上面是我正在使用的数据帧的
head()
。它包含7000多行和3000个唯一ID值。我想删除所有只有一个ID值的行。这可能吗?也许解决方案是只保留重复ID的行

以下是我的做法:

ID Julian Month Year Location Distance
 2  40749  July 2011     8300    39625
 2  41425   May 2013 Hatchery    31325
 3  40749  July 2011     6950    38625
 3  41057   May 2012 Hatchery    31325
 6  40735  July 2011     8300    39650
12  40743  July 2011    11025    42350

new.dataframe如果
d
是您的数据帧,我将使用
duplicated
查找具有重复ID的行。在
fromLast
中使用这两个参数可以获得第一个和最后一个重复的ID行

new.dataframe <- c()
ids <- unique(dataframe$ID)
for(id in ids){
temp <- dataframe[dataframe$ID == id, ]
if(nrow(temp) > 1){
new.dataframe <- rbind(new.dataframe, temp)
}}
这种双重复制的
方法有多种用途:

d[(duplicated(d$ID, fromLast = FALSE) | duplicated(d$ID, fromLast = TRUE)),]