为了账号安全,请及时绑定邮箱和手机立即绑定

如何从向量中删除多个值?

如何从向量中删除多个值?

慕码人8056858 2019-08-31 15:31:00
我有一个像这样的矢量:a = c(1:10)我需要删除多个值,例如:2, 3, 5如何在向量中删除这些数字(它们不是向量中的位置)?此刻我循环向量并执行以下操作:a[!a=NUMBER_TO_REMOVE]但我认为有一个功能可以自动完成。
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

你可以用setdiff。


特定


a <- sample(1:10)

remove <- c(2, 3, 5)

然后


> a

 [1] 10  8  9  1  3  4  6  7  2  5

> setdiff(a, remove)

[1] 10  8  9  1  4  6  7


查看完整回答
反对 回复 2019-08-31
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

你可以这样做:


> x<-c(2, 4, 6, 9, 10) # the list

> y<-c(4, 9, 10) # values to be removed


> idx = which(x %in% y ) # Positions of the values of y in x

> idx

[1] 2 4 5

> x = x[-idx] # Remove those values using their position and "-" operator

> x

[1] 2 6

不久


> x = x[ - which(x %in% y)]


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 736 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信