0

我有一个大数据框,我试图用 NA 值来计算

q3 次_30
很容易 2021 年 11 月 18 日
简单的 2021 年 1 月 1 日
不适用 未到期
不适用 没有答案
不适用 2021 年 1 月 2 日

我在用

df$q3<-ifelse (is.na(df$q3), df$times_30,df$q3)

哪里给我

q3 次_30
很容易 2021 年 11 月 18 日
简单的 2021 年 1 月 1 日
未到期 未到期
没有答案 没有答案
2021 年 1 月 2 日 2021 年 1 月 2 日

但我不想用 q3 NA 的日期代替,而是给我一个“No answer”,如下所示

q3 次_30
很容易 2021 年 11 月 18 日
简单的 2021 年 1 月 1 日
未到期 未到期
没有答案 没有答案
没有答案 2021 年 1 月 2 日
4

1 回答 1

0

您可以尝试使用dplyr::case_when

library(dplyr)
df %>%
  mutate(q3 = case_when(
    is.na(q3) & times_30 == "Not due" ~ times_30,
    is.na(q3) ~ "No answer",
    TRUE ~ q3
  ))

 

    q3   times_30
1 Very easy 18/11/2021
2      Easy 01/01/2021
3   Not due    Not due
4 No answer  No answer
5 No answer 01/02/2021
于 2021-11-29T02:48:01.957 回答