【问题标题】:replace values within the same column替换同一列中的值
【发布时间】:2020-08-04 18:15:53
【问题描述】:

我正在尝试找出一种简单的方法来使用 dplyr(数据集 = COL,变量 = SEX)来做这样的事情:

COL[COL$SEX == "MACHO","SEX"] <- "M"
COL[COL$SEX == "HEMBRA","SEX"] <- "F"

应该很简单,但这是?在唯一的命令行中?我目前能做的最好的。有没有更简单的方法?

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    一个选项是转换为factor 并指定levelslabels,而不是多个分配

    COL$SEX <- factor(COL$SEX, levels = c("MACHO", "HEMBRA", labels = c("M", "F"))
    

    或者另一种选择是转换为逻辑向量,然后通过加1将其更改为数字索引,并根据索引替换值

    COL$SEX <- c("M", "F")[1 + (COL$SEX == "HEMBRA")]
    

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 2023-03-03
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      • 2018-11-17
      相关资源
      最近更新 更多