当值为字符时,R 按组折叠具有非缺失值的行

qnp*_*521 5 r dplyr

我正在尝试按组折叠/聚合/汇总行,仅保留非缺失值,其中值是字符。这是一个可重现的示例。

df = data.frame(store = c("A","A", "B","B"),
                item1=c("apple","","milk",""),
                item2=c("","pear","","bread"))

df
  store item1 item2
1     A apple      
2     A        pear
3     B  milk      
4     B       bread
Run Code Online (Sandbox Code Playgroud)

我希望将 df 更改为以下内容

df2
  store item1 item2
1     A apple  pear
2     B  milk bread
Run Code Online (Sandbox Code Playgroud)

我尝试过使用summarise_allwith ,nchar(.) > 0如下所示,但它似乎不起作用。

df %>%
  group_by(store) %>%
  summarise_all( ~ + any(nchar(.) > 0))
Run Code Online (Sandbox Code Playgroud)

任何意见将不胜感激!

tmf*_*mnk 2

你可以做:

df %>%
 group_by(store) %>%
 summarise_all(~ .[nchar(.) > 1])

  store item1 item2
  <chr> <chr> <chr>
1 A     apple pear 
2 B     milk  bread
Run Code Online (Sandbox Code Playgroud)