【问题标题】:Replacing numeric NAs and 0's with blank, and all values greater than 0 with "X" [duplicate]将数字 NA 和 0 替换为空白,所有大于 0 的值替换为“X”[重复]
【发布时间】:2020-11-19 13:15:04
【问题描述】:

我有一个数据框emissions,看起来像这样(示例):

CEDS_Sector                    Ammonia      Carbon Dioxide     ...
1A1a_Public Electricity         2528             NA
1A1b_Pet_refining               NA               NA
1A1c_Coke-ovens                 0.000           1467
...

CEDS_Sector 是一个因子,所有其他列都是数字。 如果有 NA 或 0 条目,我希望该单元格变为空白。如果值 > 0,我希望该单元格中有一个“X”,看起来像这样“

CEDS_Sector                    Ammonia      Carbon Dioxide     ...
1A1a_Public Electricity           X             
1A1b_Pet_refining              
1A1c_Coke-ovens                                   X
...

【问题讨论】:

    标签: r dplyr na


    【解决方案1】:

    您可以使用mutate_if():

    library(dplyr) 
    
    emissions %>% 
      mutate_if(is.numeric, function(x) ifelse(is.na(x) | x == 0, 
                                               "",
                                               "X"))
    

    【讨论】:

    • 谢谢!我总是忘记mutate_if()
    猜你喜欢
    • 2012-06-17
    • 2023-01-19
    • 2019-05-30
    • 2010-12-30
    • 2020-11-19
    • 2012-10-21
    • 2017-10-27
    相关资源
    最近更新 更多