我有一个类似这样的数据集:
如何使用r?
将所有男性替换为女性答案 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"))