到目前为止,我有一个如下所示的数据框:
Account Total Mastered Not_Mastered
1 1 NA NA
2 12 2 10
3 4 NA NA
4 51 50 1
我的代码是:
Table$not_mastered = (Table$total - Table$mastered)
我的目标是减去掌握的'来自' total'的列列导致第三列' not_mastered'如果掌握了'列然后我希望新列具有与' total'相同的值。柱。如下所示。
Account Total Mastered Not_Mastered
1 1 NA 1
2 12 2 10
3 4 NA 4
4 51 50 1
如何跳过主控列中的NA值并重写总列中的值?
答案 0 :(得分:0)
根据您使用的软件类型,您应该能够通过简单的if循环捕获这些软件。
for index=1: (number of rows of data) % looks at each row, one at a time
if Mastered(index)==NA % if the value is the Mastered column is NA
NotMastered(index)=Total(index);
else
NotMastered(index)=Total(index)-Mastered(index);
end
end
答案 1 :(得分:0)
我们可以使用replace
将NA值更改为0,然后执行差异
with(df1, Total - replace(Mastered, is.na(Mastered), 0))
#[1] 1 10 4 1