R 了解ifelse的工作原理
大家好,我是R的新手,希望你们能帮助我。我有一个数据帧,我想在其中重新编码一些值。下面是一个示例数据帧:R 了解ifelse的工作原理,r,R,大家好,我是R的新手,希望你们能帮助我。我有一个数据帧,我想在其中重新编码一些值。下面是一个示例数据帧: df <- data.frame(age = sample(100, size = 6), gender = c("boy", "girl")) print(x) age gender 1 58 boy 2 41 girl 3 31 boy 4 96 girl 5 93
df <- data.frame(age = sample(100, size = 6),
gender = c("boy", "girl"))
print(x)
age gender
1 58 boy
2 41 girl
3 31 boy
4 96 girl
5 93 boy
6 60 girl
dfifelse(test,yes,no)
返回一个等于测试长度的向量
在您的例子中,完整列的赋值执行了nrow(x)
次。最终结果取决于最后一次测试(x$gender==“boy”
,false),这解释了为什么在该列中会看到一队女性。可能是因为x$new。与性别相关的讨论如何
df$new.gender <- NA
ifelse(x$gender == "boy", x$new.gender <- "man", x$new.gender <- "woman")
print(x)
age gender new.gender
1 96 boy woman
2 46 girl woman
3 68 boy woman
4 6 girl woman
5 26 boy woman
6 55 girl woman
x$new.gender <- NA
x$new.gender <- ifelse(x$gender == "boy", "man", "woman")
print(x)
age gender new.gender
1 96 boy man
2 46 girl woman
3 68 boy man
4 6 girl woman
5 26 boy man
6 55 girl woman