R 如何识别除一列之外的重复项,并用max替换该列
我试图找到四列中有三列是重复的数据,然后删除重复项,但对于其他相同的数据,保留数字最大的行 我找到了,我想我已经找到一半了 我将以这个问题为例提出我的问题。(这个例子的专栏比我正在写的要多,但我认为这并不重要。) 那篇文章向我介绍了一段代码,该代码将识别除花瓣宽度外所有东西都相等的所有行:R 如何识别除一列之外的重复项,并用max替换该列,r,max,tidyverse,R,Max,Tidyverse,我试图找到四列中有三列是重复的数据,然后删除重复项,但对于其他相同的数据,保留数字最大的行 我找到了,我想我已经找到一半了 我将以这个问题为例提出我的问题。(这个例子的专栏比我正在写的要多,但我认为这并不重要。) 那篇文章向我介绍了一段代码,该代码将识别除花瓣宽度外所有东西都相等的所有行: iris[duplicated(iris[,-4]) | duplicated(iris[,-4], fromLast = TRUE),] 这是伟大的,但我不知道如何从这里取得进展。我想让第2行和第5行折叠
iris[duplicated(iris[,-4]) | duplicated(iris[,-4], fromLast = TRUE),]
这是伟大的,但我不知道如何从这里取得进展。我想让第2行和第5行折叠成一个与第5行相等的行。同样,9和10应该变成10,8和12应该变成12
我拥有的数据集在某些重复数据集中有两行以上,因此我没有使用排列函数对它们进行排序并删除最小的行。这应该可以满足您的需要
iris %>%
group_by(Sepal.Length,
Sepal.Width,
Petal.Length,
Species) %>%
filter(Petal.Width == max(Petal.Width)) %>%
filter(row_number() == 1) %>%
ungroup()
第二个过滤是,如果两个条目的
Petal.Width
相同,则消除重复项。这对你有用吗?这不是回答%>%group\u by\u at(-4)%%>%slice(which.max(Petal.Width))
?还有其他比赛。例如,第1行和第4行。
iris %>%
group_by(Sepal.Length,
Sepal.Width,
Petal.Length,
Species) %>%
filter(Petal.Width == max(Petal.Width)) %>%
filter(row_number() == 1) %>%
ungroup()