我有一个 Dataframe ,其中有包含NA值的数字列,并填充了一个字符列,例如
| 鞋子|第1季度_销售额|第2季度_销售额|第3季度_销售额|第4季度_销售额|
| - ------|- ------|- ------|- ------|- ------|
| 冬季系列|不适用|不适用|不适用|不适用|
| Boot |五十|二十五|无|一百|
| 培训师|四十|六十五|二百|一百|
| 乐福鞋|无|四十五|二十个|十个|
| 夏季系列|不适用|不适用|不适用|不适用|
| 培训师|五十|六五五|四百|无|
| 触发器|无|二十五|四十|无|
| 凉鞋|无|二百零五|四十五|二十五|
| 其他|不适用|不适用|不适用|不适用|
| 木屐|无|无|无|无|
我想尝试删除总和为0的数字列(例如,clogs),但保留NA列,第一个字符列保留在原处。
我尝试使用以下代码删除0行:
df[应用(df[,-1],1,函数(x)!全部(x==0)),]
但是,这导致数据框删除第一列的字符值,例如:
| 鞋子|第1季度_销售额|第2季度_销售额|第3季度_销售额|第4季度_销售额|
| - ------|- ------|- ------|- ------|- ------|
| 不适用|不适用|不适用|不适用|不适用|
| Boot |五十|二十五|无|一百|
| 培训师|四十|六十五|二百|一百|
| 乐福鞋|无|四十五|二十个|十个|
| 不适用|不适用|不适用|不适用|不适用|
| 培训师|五十|六五五|四百|无|
| 触发器|无|二十五|四十|无|
| 凉鞋|无|二百零五|四十五|二十五|
| 不适用|不适用|不适用|不适用|不适用|
下面是我想看到的(删除了“clogs”行的原始表,但字符列保持不变):
| 鞋子|第1季度_销售额|第2季度_销售额|第3季度_销售额|第4季度_销售额|
| - ------|- ------|- ------|- ------|- ------|
| 冬季系列|不适用|不适用|不适用|不适用|
| Boot |五十|二十五|无|一百|
| 培训师|四十|六十五|二百|一百|
| 乐福鞋|无|四十五|二十个|十个|
| 夏季系列|不适用|不适用|不适用|不适用|
| 培训师|五十|六五五|四百|无|
| 触发器|无|二十五|四十|无|
| 凉鞋|无|二百零五|四十五|二十五|
| 其他|不适用|不适用|不适用|不适用|
3条答案
按热度按时间bvhaajcl1#
ghhkc1vu2#
对于
dplyr
,您可以在filter()
中使用if_all
和if_any
:数据
1tu0hz3e3#
tidyverse
解决方案: