【问题标题】:Is there a way to convert integers in a column to character in R?有没有办法将列中的整数转换为 R 中的字符?
【发布时间】:2021-11-16 05:07:47
【问题描述】:

我有一个数据框,其中包含不同临床变量的患者是否患有心力衰竭?

我有一列作为性别,其值为 0 和 1,0 对应于女性,1 对应于男性?

我的问题是

如何从中获取我的数据框列

gender 
1
1
0
1
0
0

到这个...

gender
Female 
Male 
Male
Female 
Male 
Female 
Female 

有没有办法将整数 0、1 转换为文本“女”和“男”

【问题讨论】:

    标签: r data-analysis data-manipulation


    【解决方案1】:

    ifelse() 可以这样工作:

    df <- data.frame(gender = c(1,0,1,0,3))
    
    df$gender2 <- ifelse(df$gender == 1, "Male", "Female")
    df
    #>   gender gender2
    #> 1      1    Male
    #> 2      0  Female
    #> 3      1    Male
    #> 4      0  Female
    #> 5      3  Female
    

    还可以叠加多个条件:

    df$gender3 <- ifelse(df$gender == 1, "Male", 
                         ifelse(df$gender == 0, "Female", NA))
    df
    #>   gender gender2 gender3
    #> 1      1    Male    Male
    #> 2      0  Female  Female
    #> 3      1    Male    Male
    #> 4      0  Female  Female
    #> 5      3  Female    <NA>
    

    【讨论】:

      【解决方案2】:

      我们可以在转换为索引后通过添加 1 来传递替换向量。在R中,索引是从1开始的,所以0、1加1,值分别变为1和2,可以作为替换的位置索引

      df1$gender <- c("Female", "Male")[df1$gender + 1]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-23
        • 2010-10-04
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2021-05-15
        • 2021-01-04
        相关资源
        最近更新 更多