如何使用R将数据帧中的性别从整数转换为字符

如何使用R将数据帧中的性别从整数转换为字符,r,R,在我的数据框中有一列,其中性别分别编码为1和0,表示男性和女性。它不是复制品,但看起来像这样: df <- read.csv("df.csv") " Gender Age Width 1 0 35 1.4 2 0 30 1.4 3 1 32 1.3 4 1 31 1.5

在我的数据框中有一列,其中性别分别编码为1和0,表示男性和女性。它不是复制品,但看起来像这样:

df <- read.csv("df.csv")

      "  Gender   Age    Width
1          0      35      1.4   
2          0      30      1.4  
3          1      32      1.3   
4          1      31      1.5    
5          0      36      1.4  
6          1      39      1.7  "



df当我重新构建您的输入时,您所做的一切似乎都是正确的

Gender <- c(1,0,1,0)
Age <- c(50,30,40,30)

df <- data.frame(Gender,Age)
df$Gender <- factor(df$Gender,
                levels = c("1","0"),
                labels = c("male", "female"))
print(df$Gender)
Gender您可以使用

library(tidyverse)

df %>% 
  mutate(gender = factor(Gender, labels = c("male", "female"))) 
或者干脆

df$gender <- ifelse(df$Gender == 1,"male","female")

资料


使用
ifelse(df$Gender==1,“male”,“female”)
@bappad因为我仍然得到相同的输出什么是输出od
levels(df$Gender)
@Roman[1]“male”“female”请以
dput(df)
格式提供您的数据。看见
df <- read.csv("df.csv", stringsAsFactors = FALSE)
library(tidyverse)

df %>% 
  mutate(gender = factor(Gender, labels = c("male", "female"))) 
df$gender <- ifelse(df$Gender == 1,"male","female")
df %>% 
  mutate(gender = if_else(Gender == 1,"male","female"))
df %>% 
  mutate(gender = case_when(Gender == 1 ~ "male",
                            Gender == 0 ~ "female"))
df = structure(list(Sn = 1:6, Gender = c(0L, 0L, 1L, 1L, 0L, 1L), 
    Age = c(35L, 30L, 32L, 31L, 36L, 39L), Width = c(1.4, 1.4, 
    1.3, 1.5, 1.4, 1.7), gender = c("female", "female", "male", 
    "male", "female", "male")), row.names = c(NA, -6L), class = "data.frame")