【发布时间】:2019-03-26 12:24:04
【问题描述】:
在下面的 data.df 中,我们看到第 2 行和第 3 行是相同的,只是第 4 行的平均值不同。
iso3 dest code year uv mean
1 ALB AUT 490700 2002 14027.2433 427387.640
2 ALB BGR 490700 2002 1215.5613 11886.494
3 ALB BGR 490700 2002 1215.5613 11886.494
4 ALB BGR 490700 2002 1215.5613 58069.405
5 ALB BGR 843050 2002 677.9827 4272.176
6 ALB BGR 851030 2002 31004.0946 32364.379
7 ALB HRV 392329 2002 1410.0072 6970.930
有什么简单的方法可以自动找到这些相同的行吗? 我发现this subject 似乎可以回答这个问题,但我不明白 'duplicated()` 是如何工作的......
我想要的是一个“简单”的命令,我可以在其中精确地逐行确定哪一列的值应该是相同的。
类似:function(data.df, c(iso3, dest, code, year, uv, mean))
找到完全相同的行和function(data.df, c(iso3, dest, code, year, uv)) 找到“准”相同的行......
在第一种情况下,预期的结果类似于:
2 ALB BGR 490700 2002 1215.5613 11886.494
3 ALB BGR 490700 2002 1215.5613 11886.494
在第二个中:
2 ALB BGR 490700 2002 1215.5613 11886.494
3 ALB BGR 490700 2002 1215.5613 11886.494
4 ALB BGR 490700 2002 1215.5613 58069.405
有什么想法吗?
【问题讨论】:
-
你应该试试
dplyr::distinct(data.df, iso3, dest, code, year, uv, .keep_all =TRUE)
标签: r