【问题标题】:Subset vector: remove one element, based on value rather than position子集向量:根据值而不是位置删除一个元素
【发布时间】:2020-07-18 20:58:29
【问题描述】:
library(tidyverse)

查看starwars数据集中的前15条记录

head(starwars, 15)

根据向量中的位置删除第 10 条记录(“Obi-Wan Kenobi”) “欧比旺克诺比”排在第十位

starwarsNames <- unique(starwars$name)[-10]

根据向量中的值删除第 10 条记录(“Obi-Wan Kenobi”) 我在 -"Obi-Wan Kenobi" 中看到错误:当我尝试以下操作时,一元运算符的参数无效:

starwarsNames <- unique(starwars$name)[-"Obi-Wan Kenobi"]

【问题讨论】:

    标签: r vector subset


    【解决方案1】:

    我们可以使用setdiff

    setdiff(unique(starwars$name), "Obi-Wan Kenobi")
    

    或者另一个选项是合乎逻辑的

    un1  <- unique(starwars$name)
    un1[un1 != "Obi-Wan Kenobi"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多