首页 > 解决方案 > 子集向量:根据值而不是位置删除一个元素

问题描述

library(tidyverse)

查看星球大战数据集中的前 15 条记录

head(starwars, 15)

根据向量中的位置“Obi-Wan Kenobi”位于第 10 位,删除第 10 条记录(“Obi-Wan Kenobi”)

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

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

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

标签: rvectorsubset

解决方案


我们可以用setdiff

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

或者另一种选择是合乎逻辑的

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

推荐阅读