根据 R 中的条件更改变量的值
Changing value of a variable based on condition in R
我正在尝试根据其他变量更改一个变量的值。因此,如果一个变量的值等于第二个变量的值,则第三个变量的值应乘以 -1。
我的代码如下所示:
df <- df %>%
mutate (C = case_when((A1) == (A2) & (R1) == (R2) ~ C,
(A1) == (R1) & (A2) == (R2) ~ (-1L)*C))
其中A1、A2、R1、R2为字符型变量,C为数值型变量。
我明白了
error: case_when(...)`.
must be a double vector, not a logical vector.
如果我将 (-1L) 更改为 (-1),那么它会给出 C
的 NA
TIA!!
也许以下会解决问题。
不要检查没有变化的条件,只保留变化条件和 TRUE
子句中的所有其他条件。
df <- df %>%
mutate(
C = case_when(
(A1 == R1) & (A2 == R2) ~ -1L*C,
TRUE ~ C
))
我正在尝试根据其他变量更改一个变量的值。因此,如果一个变量的值等于第二个变量的值,则第三个变量的值应乘以 -1。
我的代码如下所示:
df <- df %>%
mutate (C = case_when((A1) == (A2) & (R1) == (R2) ~ C,
(A1) == (R1) & (A2) == (R2) ~ (-1L)*C))
其中A1、A2、R1、R2为字符型变量,C为数值型变量。
我明白了
error: case_when(...)`.
must be a double vector, not a logical vector.
如果我将 (-1L) 更改为 (-1),那么它会给出 C
的 NATIA!!
也许以下会解决问题。
不要检查没有变化的条件,只保留变化条件和 TRUE
子句中的所有其他条件。
df <- df %>%
mutate(
C = case_when(
(A1 == R1) & (A2 == R2) ~ -1L*C,
TRUE ~ C
))