DPLYR distinct exclude列在比较中,但保留在结果中?
我有一个类似于此结构的data.frame: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
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