在R中,如何用男性和女性替换1和0?
我有一个csv文件包含一个性别属性,1=男性,0=女性。 在使用R读取数据集后,我想将该值从1替换为男性,从0替换为女性。 我试过这个代码,但不起作用在R中,如何用男性和女性替换1和0?,r,R,我有一个csv文件包含一个性别属性,1=男性,0=女性。 在使用R读取数据集后,我想将该值从1替换为男性,从0替换为女性。 我试过这个代码,但不起作用 df <- read.csv('heart.csv') df[df$sex == 1] <- "male" df[df$sex == 0] <- "female" df请尝试从dplyr包和ifelse library(tidyverse) df <- tibble(x = sa
df <- read.csv('heart.csv')
df[df$sex == 1] <- "male"
df[df$sex == 0] <- "female"
df请尝试从dplyr
包和ifelse
library(tidyverse)
df <- tibble(x = sample(0:1, 10, replace = TRUE))
> df
# A tibble: 10 x 1
x
<int>
1 0
2 1
3 0
4 1
5 1
6 1
7 1
8 0
9 0
10 1
df <-df %>%
mutate(y = ifelse(x == 0, "male", "female"))
> df
# A tibble: 10 x 2
x y
<int> <chr>
1 0 male
2 1 female
3 0 male
4 1 female
5 1 female
6 1 female
7 1 female
8 0 male
9 0 male
10 1 female
库(tidyverse)
df-df
#一个tibble:10x1
x
1 0
2 1
3 0
4 1
5 1
6 1
7 1
8 0
9 0
10 1
df%
突变(y=ifelse(x==0,“雄性”,“雌性”))
>df
#一个tibble:10x2
xy
10男
21名女性
30男
41名女性
51名女性
61名女性
71名女性
80男
90男
101名女性
请尝试从dplyr
包和ifelse
library(tidyverse)
df <- tibble(x = sample(0:1, 10, replace = TRUE))
> df
# A tibble: 10 x 1
x
<int>
1 0
2 1
3 0
4 1
5 1
6 1
7 1
8 0
9 0
10 1
df <-df %>%
mutate(y = ifelse(x == 0, "male", "female"))
> df
# A tibble: 10 x 2
x y
<int> <chr>
1 0 male
2 1 female
3 0 male
4 1 female
5 1 female
6 1 female
7 1 female
8 0 male
9 0 male
10 1 female
库(tidyverse)
df-df
#一个tibble:10x1
x
1 0
2 1
3 0
4 1
5 1
6 1
7 1
8 0
9 0
10 1
df%
突变(y=ifelse(x==0,“雄性”,“雌性”))
>df
#一个tibble:10x2
xy
10男
21名女性
30男
41名女性
51名女性
61名女性
71名女性
80男
90男
101名女性
您的索引无法工作,因为您试图替换整个数据帧。也就是说,df[df$sex==1]
导致了一个问题,因为R不知道要替换哪些元素。您可以执行以下操作:
df$sex[df$sex == 0] <- "female"
df$sex[df$sex == 1] <- "male"
df$sex[df$sex==0]您的索引无法工作,因为您试图替换整个数据帧。也就是说,df[df$sex==1]
导致了一个问题,因为R不知道要替换哪些元素。您可以执行以下操作:
df$sex[df$sex == 0] <- "female"
df$sex[df$sex == 1] <- "male"
df$sex[df$sex==0]
df <- data.frame(sex = sample(0:1, 10, replace = TRUE))
df$sex <- c('female', 'male')[df$sex + 1]
df你可以
df <- data.frame(sex = sample(0:1, 10, replace = TRUE))
df$sex <- c('female', 'male')[df$sex + 1]
dfc(‘女性’、‘男性’)[df$sex+1]
c(‘女性’、‘男性’)[df$sex+1]
您必须颠倒标签或级别的顺序,注意女性=0,而男性=1您必须颠倒标签或级别的顺序,注意女性=0,而男性=1