首页 > 解决方案 > 根据上一列添加 NA

问题描述

我的数据框如下所示:

Total   Taxes   VAT Debit   Credit  Department  Personal    Car
17.5    0.5     no    x       NA       yes         no       yes
72.5    0.5     no    x       NA       yes         yes      no
1.4      NA     no    x       NA       yes         no       yes
4.5      NA     no    x       NA       yes         no       yes
1.5      NA     no    x       NA       yes         no       yes

我想要那个 in departmentpersonalcar我的输出显示NANA是基于taxes列的。例如,如果有NAin ,那么在以下列中taxes应该有 a ,如下例所示:NA

Total   Taxes   VAT Debit   Credit  Department  Personal    Car
17.5     0.5    no    x      NA         yes        no       yes
72.5     0.5    no    x      NA         yes        yes      no
1.4      NA     no    NA     NA         NA         NA       NA
4.5      NA     no    NA     NA         NA         NA       NA
1.5      NA     no    NA     NA         NA         NA       NA

中是否有解决方案BaseR

标签: r

解决方案


dplyr方式是

library(dplyr)
df %>%
   mutate_at(vars(Department:Car), funs(replace(., is.na(Taxes), NA)))

# Total Taxes VAT Debit Credit Department Personal  Car
#1  17.5   0.5  no     x     NA        yes       no  yes
#2  72.5   0.5  no     x     NA        yes      yes   no
#3   1.4    NA  no     x     NA       <NA>     <NA> <NA>
#4   4.5    NA  no     x     NA       <NA>     <NA> <NA>
#5   1.5    NA  no     x     NA       <NA>     <NA> <NA>

推荐阅读