【发布时间】:2022-08-23 12:20:46
【问题描述】:
我有一个像这样有 5 列的 DF;
A B Date1 Date2 Date3 Date4
1 x NA NA NA
2 NA y NA NA
3 NA NA z NA
4 NA NA NA f
我想使用 dplyr 包和 case_when() 函数来说明这样的事情
df <- df %>%
mutate(B = case_when(
A == 1 ~ B == Date1,
A == 2 ~ B == Date2,
A == 3 ~ B == Date3,
A == 4 ~ B == Date4))
基本上基于 A 的值,我想用 4 个日期列之一填充 B。
A是类字符,B和Date都是Date类。
问题是当我将它应用于数据框时,它根本不起作用。它返回 NA 并将 B 的类更改为布尔值。我正在使用 R 版本 4.1.2。任何帮助表示赞赏。
-
您的
case_when语法错误,我们不会在其中使用==,只需A == 1 ~ Date1就足够了。