Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何识别除一列之外的重复项,并用max替换该列_R_Max_Tidyverse - Fatal编程技术网

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()