dplyr mutate 将单列值替换为 ifelse

Dat*_*ger 1 r dplyr

目的:

我有一个包含许多贷款处理数据的数据集(数据集:df)。我需要将“状态”字段中的字符串更改为数字数据。目标是将字符串叙述更改为数值。我希望将此状态用作 lm() 方法中的响应变量。

以下是已完成的工作:

df$status <- df$status %>% 
  mutate(status = str_replace("Charged On", "100"))
df$status <- df$status %>% 
  mutate(status = str_replace("Charged Off", "200"))
df$status <- df$status %>% 
  mutate(status = str_replace("Fully Paid", "300"))
df$status <- df$status %>% 
  mutate(status = str_replace("Current", "400"))
df$status <- df$status %>% 
  mutate(status = str_replace("In Grace Period", "500"))
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 5

我建议使用case_when此处生成一个新的数字列:

df$status <- case_when(
    df$status == "Charged On" ~ 100,
    df$status == "Charged Off" ~ 200,
    df$status == "Fully Paid" ~ 300,
    df$status == "Current" ~ 400,
    df$status == "In Grace Period" ~ 500,
    TRUE ~ -1
)
Run Code Online (Sandbox Code Playgroud)