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

我有一个像这样的矢量:a = c(1:10)我需要删除多个值,例如:2, 3, 5


如何在向量中删除这些数字(它们不是向量中的位置)?


此刻我循环向量并执行以下操作:


a[!a=NUMBER_TO_REMOVE]

但我认为有一个功能可以自动完成。


慕码人8056858
浏览 737回答 3
3回答

米脂

你可以用setdiff。特定a <- sample(1:10)remove <- c(2, 3, 5)然后> a&nbsp;[1] 10&nbsp; 8&nbsp; 9&nbsp; 1&nbsp; 3&nbsp; 4&nbsp; 6&nbsp; 7&nbsp; 2&nbsp; 5> setdiff(a, remove)[1] 10&nbsp; 8&nbsp; 9&nbsp; 1&nbsp; 4&nbsp; 6&nbsp; 7

阿波罗的战车

你可以这样做:> 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)]
打开App,查看更多内容
随时随地看视频慕课网APP