仅考虑行的子集来对列进行突变

时间:2020-06-26 13:55:51

标签: r dplyr

我在使用$number->phoneNumber进行数据操作时遇到了一些麻烦。基本上我有一个像这样的数据集:

dpylr
假设

test <- data.frame( var1 = rnorm(10, 10, 3), var2 = rnorm(10, 20, 6), var3 = c(rnorm(7, 20, 6), NA, NA, NA) ) > test var1 var2 var3 1 8.882003 16.222680 21.46382 2 7.220067 22.296354 22.88066 3 11.060342 27.886035 16.01724 4 6.165811 6.320757 20.76175 5 7.599280 29.168573 11.54408 6 7.807514 19.811270 15.10216 7 6.518541 28.733050 17.15341 8 7.601128 13.063873 NA 9 5.992121 24.232977 NA 10 6.510580 24.478872 NA 计算为var3,所以我想在计算var1 + var2的{​​{1}}中填充NA值(或使用的任何操作),但仅适用于具有NA值的行。我该怎么办?

2 个答案:

答案 0 :(得分:2)

... %>% mutate(var3=ifelse(is.na(var3), var1 + var2, var3))

答案 1 :(得分:1)

使用基数R:

test$var3 <- ifelse(is.na(test$var3), test$var1 + test$var2, test$var3)