有没有办法将列中的整数转换为 R 中的字符?

Is there a way to convert integers in a column to character in R?

我有一个数据框,它有不同的临床变量用于心力衰竭与否的患者?

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

我的问题是

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

gender 
1
1
0
1
0
0

对此...

gender
Female 
Male 
Male
Female 
Male 
Female 
Female 

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

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

df1$gender <- c("Female", "Male")[df1$gender + 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>