[英]dplyr, mutation: error when using “case_when”
我正在嘗試根據我已經擁有的連續工資變量創建一個新的工資組變量。 這是我擁有的代碼,它在其他類似情況下運行良好:
df <- df %>% mutate(wagegroup = case_when(wage_total < 100 ~ 'below 100 €/m',
wage_total >= 100 & wage_total <= 546 ~ '100 - 546 €/m',
wage_total >= 546,1 & wage_total <= 1000 ~ '565,1 - 1000 €/m',
wage_total >= 1000,1 & wage_total <= 1500 ~ '1000,1 - 1500 €/m',
wage_total >= 1500,1 & wage_total <= 2000 ~ '1500,1 - 2000 €/m',
wage_total >= 2000,1 ~ 'over 2000,1 €/m'))
我得到一個錯誤代碼:
x Case 3 (`wage_total < 100 ~ "below 100 \200/m"`) must be a two-sided formula, not a logical vector.
我想知道這里有什么問題? 我只是 Rstudio 的初學者,所以非常感謝您的幫助:)
您的代碼中似乎有一些無關的字符。 我試圖對你正在嘗試做的事情做出最好的猜測:
df <- data.frame(wage_total = c(100, 200, 300, 500, 600, 1020, 1038))
df <- df %>% mutate(wagegroup = case_when(wage_total < 100 ~ 'below 100 €/m',
wage_total >= 100 & wage_total <= 546 ~ '100 - 546 €/m',
wage_total >= 546 & wage_total <= 1000 ~ '565 - 1000 €/m',
wage_total >= 1000 & wage_total <= 1500 ~ '1000 - 1500 €/m',
wage_total >= 1500 & wage_total <= 2000 ~ '1500 - 2000 €/m',
wage_total >= 2000 ~ 'over 2000 €/m'))
df
# wage_total wagegroup
# 1 100 100 - 546 €/m
# 2 200 100 - 546 €/m
# 3 300 100 - 546 €/m
# 4 500 100 - 546 €/m
# 5 600 565 - 1000 €/m
# 6 1020 1000 - 1500 €/m
# 7 1038 1000 - 1500 €/m
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.