【问题标题】:creating new column in R using ifelse [closed]使用 ifelse 在 R 中创建新列 [关闭]
【发布时间】:2021-11-17 22:56:43
【问题描述】:

我真的是 R 的新手,所以请原谅我的问题,它可能看起来很愚蠢。 我想使用 dplyr 函数在 R 中创建一个新列。

Gender Value 
boy      2
girl     3
girl     2

这是我的桌子。我想创建一个新列,其中一个条件是性别,然后是值或 0。有点像这样:


gender  Value  Girl 

boy      2       0
girl     3       3
girl     2       2 

到目前为止我有这个功能:df1 <- mutate(df, Girl= ifelse(Gender== "girl",Value,0))

但是那样,它不会将值分配给列,我只会得到 0。你知道解决这个问题的方法吗?

【问题讨论】:

    标签: r function dplyr


    【解决方案1】:

    可能存在一些前导/滞后空间。此外,代码显示 OP 正在创建 Gender 中的逻辑条件。在预期中,列名是小写的(R 区分大小写)

    library(dplyr)
    df %>%
        mutate(Girl = ifelse(trimws(gender) == "girl", Value, 0))
    

    【讨论】:

    • @csarvf_01 你能显示dput(head(df1$gender))
    猜你喜欢
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多