DPLYR distinct exclude列在比较中,但保留在结果中?

DPLYR distinct exclude列在比较中,但保留在结果中?,r,dplyr,distinct,tidyverse,R,Dplyr,Distinct,Tidyverse,我有一个类似于此结构的data.frame: a b c 1 1 A 1 1 A 1 1 BLAH 2 2 BLAH 2 3 C df <- data.frame(a=c(1,1,1,2,2),b=c(1,1,1,2,3), c=c("A","A","BLAH","BLAH", "C")) 所以我有一个独特的子集,并选择放弃“无聊”的版本?另外,请注意,我只保留了所需的“1A”行中的一行 df%>% df %>% group_by(a, b) %>% sum

我有一个类似于此结构的data.frame:

a b c
1 1 A
1 1 A
1 1 BLAH
2 2 BLAH
2 3 C

df <- data.frame(a=c(1,1,1,2,2),b=c(1,1,1,2,3), c=c("A","A","BLAH","BLAH", "C"))
所以我有一个独特的子集,并选择放弃“无聊”的版本?另外,请注意,我只保留了所需的“1A”行中的一行

df%>%
df %>%
    group_by(a, b) %>%
    summarize(c = c[max(1, which(c != "BLAH"))][1]) %>%
    ungroup()
## A tibble: 3 x 3
#      a     b c    
#  <dbl> <dbl> <fct>
#1     1     1 A    
#2     2     2 BLAH 
#3     2     3 C    
(a,b)组%>% 总结(c=c[max(1,其中(c!=“BLAH”))][1])%>% 解组() ##一个tibble:3x3 #a、b、c # #11A #废话 #3 2 3 C
如果我们需要保留“BLAH”,一个选项是
排列
c列,使“BLAH”成为最后一行,然后
切片
成为“c”的第一个元素

df %>%
  group_by(a, b) %>%
  arrange(a, b, c == "BLAH") %>%
  slice(1)
# A tibble: 3 x 3
# Groups:   a, b [3]
#      a     b c    
#  <dbl> <dbl> <fct>
#1     1     1 A    
#2     2     2 BLAH 
#3     2     3 C    
df%>%
(a,b)组%>%
排列(a,b,c==“BLAH”)%>%
切片(1)
#一个tibble:3x3
#组:a、b[3]
#a、b、c
#    
#11A
#废话
#3 2 3 C
通过将“c”转换为
logical
order
它,
FALSE
将按字母顺序排列在
TRUE
之前

如果其他行没有重复项,我将保留带有“BLAH”的行。这会保留没有相应副本的带有“BLAH”的行吗?
df %>%
  group_by(a, b) %>%
  arrange(a, b, c == "BLAH") %>%
  slice(1)
# A tibble: 3 x 3
# Groups:   a, b [3]
#      a     b c    
#  <dbl> <dbl> <fct>
#1     1     1 A    
#2     2     2 BLAH 
#3     2     3 C