[英]In the dplyr package can you mutate a column based on the values in a different column
我的目標是創建一個名為 audit_cat 的新 df 列,它基於兩個已經存在的名為 audit_score(離散數字變量)和性別(“男性”,“女性”)的 df 列。
audit_cat 將是一個二分字符串變量,范圍為 0-2 ~“無危險”和 3-12 ~“危險”,“女性”和“男性”0-3 =“無危險”和 4-12。
如果 audit_cat 包含女性和男性分數,那將是理想的。
使用過濾器按性別分開,然后用 case_when 改變 audit_score 已經起作用,除了它過濾掉另一個性別。
df2<- df2%>%
filter(gender == "Male") %>%
mutate(audit_score_cat =
case_when(audit_score >= 0 & audit_score <= 3 ~ "Not hazardous",
audit_score >=4 & audit_score <= 12 ~ "Hazardous"))
有沒有辦法可以根據取決於性別的兩個不同評分系統創建新的 df 列 audit_cat?
謝謝你。
您可以列出“無危險”的條件並將 rest 分配給“危險”。
df2 %>%
mutate(audit_score_cat = case_when(
gender == "Male" & between(audit_score, 0, 3) ~ "Not hazardous",
gender == "Females" & between(audit_score, 0, 2) ~ "Not hazardous",
TRUE ~ "Hazardous"
))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.