如何在数据集中将“男性”替换为“女性”?

时间:2017-02-26 14:18:30

标签: r

我有一个类似这样的数据集:

dataset

如何使用r?

将所有男性替换为女性

2 个答案:

答案 0 :(得分:2)

首先,欢迎来到Stackoverflow。正如评论中所指出的,给出一个可重复的例子会更好。我很高兴回答这个问题,但请记住,如果你举一个这样的例子,将来你更有可能得到答案。

我假设您正在使用数据框。你需要的是:

> df <- data.frame("name"=c("A","B","C","D"), sex=c("Male","Male","Male","Female"))
> df
  name    sex
1    A   Male
2    B   Male
3    C   Male
4    D Female
> df$sex[df$sex == "Male"] <- "Female"
> df
  name    sex
1    A Female
2    B Female
3    C Female
4    D Female

df$sex[df$sex == "Male"] <- "Female"正是您要找的。第一部分df$sex选择名为sex的列。

第二部分[df$sex == "Male"]选择性别等于&#34;男性&#34;的列的所有行。

最后一部分是作业。 <- "Female"为所选观察值分配值#34;女性&#34;。

答案 1 :(得分:1)

我们可以使用

library(data.table)
setDT(df)[sex=="Male", sex := "Female"]

或使用base R

df$sex <- with(df, replace(sex, sex=="Male", "Female"))