Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 了解ifelse的工作原理_R - Fatal编程技术网

R 了解ifelse的工作原理

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

大家好,我是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    boy
    6  60   girl
df
ifelse(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