如何在 R 中使分类变量二进制化?

问题描述 投票:0回答:1

基本上,我是 R 新手,并且有一个数据集,其中有一些分类变量。然而,这些并不是由 1 或 0 或任何数字来定义,例如,性别被分为男性或女性,而不是 1 或 0。

如何将男性全部改为1,女性全部改为0?似乎我的变异和情况是由于变量的呈现方式导致函数无法工作。

谢谢!

尝试使用 mutate 函数对每个变量进行回归分析,例如男生与女生相比,考试成绩如何等,但 mutate 函数总是显示“意外符号”。想知道这意味着什么。

r rstudio
1个回答
0
投票

有很多方法可以实现您想要的目标。以下是一些示例:

library(dplyr)
# conditial
df %>% 
  mutate(gender_binary = case_when(
    gender == "male" ~ 1,
    gender == "female" ~ 0,
    TRUE ~ NA_real_  
  ))

# factoring
df %>% 
  mutate(
    gender_factor = factor(gender, levels = c("female", "male")), # here female is 1 and male is 2
    gender_binary = as.numeric(gender_factor) - 1  # Subtract 1 to align with your encoding, here female = 0 male = 1
  )

# package version specifically for creating dummy variables

#install.packages("fastDummies")
library(fastDummies)

dummy_cols(df, select_columns = "gender")
© www.soinside.com 2019 - 2024. All rights reserved.