gpt4 book ai didi

r - 如何根据另一列条件删除重复行?

转载 作者:行者123 更新时间:2023-12-04 11:01:35 26 4
gpt4 key购买 nike

如何根据第二列中的最大值选择重复行(仅基于第一列):

data<-data.frame(a=c(1,3,3,3),b=c(1,4,6,3),d=c(1,5,7,1))

a b d
1 1 1
3 4 5
3 6 7
3 3 1


a b d
1 1 1
3 6 7

在第二列中,4,6,3

之间的最大值为 6

最佳答案

您可以使用“dplyr”尝试以下操作:

library(dplyr)

data %>% ## Your data
group_by(a) %>% ## grouped by "a"
filter(b == max(b)) ## filtered to only include the rows where b == max(b)
# Source: local data frame [2 x 3]
# Groups: a
#
# a b d
# 1 1 1 1
# 2 3 6 7

但请注意,如果有更多行与 b == max(b) 匹配,也会返回这些行。因此,替代方案可能是:

data %>%                  ## Your data
group_by(a) %>% ## grouped by "a"
arrange(desc(b)) %>% ## sorted by descending values of "b"
slice(1) ## with just the first row extracted

关于r - 如何根据另一列条件删除重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com