【发布时间】:2023-01-11 23:14:25
【问题描述】:
我有data.frame(col1 = 1:4, col2 = c(NA,1,2,3), col3 = 5:8)
并希望创建额外的列,这些列基于涉及其中包含 NA 的其他列的计算,但结果继续得到 NA。我不想看到 NA,但想看到 1,基于df %>% mutate( new = .[[1]] + .[[2]])
任何建议如何解决这个问题?我宁愿继续使用 tidyverse 和 dplyr
【问题讨论】:
-
你要
df %>% mutate(new = rowSums(.[1:2], na.rm = TRUE)) -
还有列差异,
df %>% mutate( new = .[[1]] - .[[2]])和df %>% mutate( new2 = .[[2]] - .[[1]]) -
那么在那种情况下你可以用零替换 NAs
-
但最后想显示
NA
标签: r sum na calculated-columns