我的数据框如下:
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
,我希望在department
,personal
和car
中,我的输出改为显示NA
。 NA
基于taxes
列。例如,如果NA
中有一个taxes
,则在下面的列中应该有一个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
中是否有解决方案?
答案 0 :(得分:2)
mstr = 'ABCDZ'
print(rotate_str(mstr, 3)) #=> CDZAB
print(rotate_str(mstr, -4)) #=> ZABCD
的方式是
dplyr
答案 1 :(得分:1)
基于“税收”创建索引,并将感兴趣的列分配给NA
中的base R
i1 <- is.na(df1$Taxes)
colsOfInterest <- c('Debit', 'Department', 'Personal', 'Car')
df1[i1, colsOfInterest] <- NA
df1
# 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 <NA> NA <NA> <NA> <NA>
#4 4.5 NA no <NA> NA <NA> <NA> <NA>
#5 1.5 NA no <NA> NA <NA> <NA> <NA>