如何使用 mutate_at 和 case_when 为不同的列填充不同的值?
How do you use mutate_at with case_when for different columns to fill different values?
我有一个包含多列的数据框 (demo_df),我正尝试根据特定条件附加两个新列。如果满足条件,这两列将填充 不同的值 。我在 mutate_at 中使用 case_when 来改变 两个 变量。
- 查询文本
- 查询状态
我该怎么做?到目前为止,我有以下代码。
queries <- demo_df%>%
mutate_at(vars(c(QueryText, QueryStatus)) = case_when(
VISIT == "SCRN" & nles <=3 ~ {"Respond","High"},
VISIT == "D1" & nles >3 ~ {"Ignore","Low"}))
您不能在一个 case_when
语句中分配多个列。尝试:
library(dplyr)
queries <- demo_df %>%
mutate(QueryText = case_when(
VISIT == "SCRN" & nles <=3 ~ "Respond"},
VISIT == "D1" & nles >3 ~ "Ignore"),
QueryStatus = case_when(QueryText == 'Respond' ~ 'High',
QueryText == 'Ignore' ~ 'Low'))
我有一个包含多列的数据框 (demo_df),我正尝试根据特定条件附加两个新列。如果满足条件,这两列将填充 不同的值 。我在 mutate_at 中使用 case_when 来改变 两个 变量。
- 查询文本
- 查询状态
我该怎么做?到目前为止,我有以下代码。
queries <- demo_df%>%
mutate_at(vars(c(QueryText, QueryStatus)) = case_when(
VISIT == "SCRN" & nles <=3 ~ {"Respond","High"},
VISIT == "D1" & nles >3 ~ {"Ignore","Low"}))
您不能在一个 case_when
语句中分配多个列。尝试:
library(dplyr)
queries <- demo_df %>%
mutate(QueryText = case_when(
VISIT == "SCRN" & nles <=3 ~ "Respond"},
VISIT == "D1" & nles >3 ~ "Ignore"),
QueryStatus = case_when(QueryText == 'Respond' ~ 'High',
QueryText == 'Ignore' ~ 'Low'))