我想在使用group_by后删除具有所有NA的行。以下是一个示例数据集:
df=data.frame(Col1=c("B","B","C","D",
"P1","P2","P3")
,Col2=c(NA,8,NA,9,10,8,9)
,Col3=c(NA,7,6,8,NA,7,8)
,Col4=c(NA,NA,7,7,NA,7,7))
我想groupby Col 1,如果列值都是NA,则删除行。因此,所需的输出为:
| 第1列|第2列|第3列|第4列|
| - ------|- ------|- ------|- ------|
| B|八个|七|不适用|
| C级|不适用|六个|七|
| D级|九|八个|七|
| P1级|十个|不适用|不适用|
| P2级|八个|七|七|
| P3级|九|八个|七|
任何帮助都将不胜感激。
3条答案
按热度按时间lc8prwob1#
您不需要
group_by
,可以使用if_any
。fnx2tebb2#
不需要group-by,仅保留至少有1个非na列的行,不包括 * Col 1 *:
6kkfgxo03#
在r2evans answer的帮助下,我能够在使用group_by分组后删除NA。感谢所有回答的人。