我正在尝试按组折叠/聚合/汇总行,仅保留非缺失值,其中值是字符。这是一个可重现的示例。
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)
任何意见将不胜感激!
你可以做:
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)