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

如何分辨一个向量而不是另一个向量?

如何分辨一个向量而不是另一个向量?

人到中年有点甜 2019-10-19 14:09:32
在matlab中,有一种方法可以在一个向量中找到值,而在另一个向量中找不到。例如:x <- c(1,2,3,4)y <- c(2,3,4)是否有任何函数可以告诉我那个x不在中的值y是1?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您可以使用setdiff()(设置差异)函数:


> setdiff(x, y)

[1] 1


查看完整回答
反对 回复 2019-10-19
?
摇曳的蔷薇

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

是。对于矢量,您可以简单地使用%in%运算符或is.element()函数。


> x[!(x %in% y)]

1

对于矩阵,有许多不同的方法。  merge()可能是最直接的。我建议针对那种情况看这个问题。


查看完整回答
反对 回复 2019-10-19
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

R中关于setdiff,union,intersect,setequal和is.element的帮助文件提供有关R中标准集合函数的信息。


setdiff(x, y)返回x不在中的元素y。


如上所述,这是不对称的差异。因此,例如:


> x <- c(1,2,3,4)

> y <- c(2,3,4,5)

> setdiff(x, y)

[1] 1

> setdiff(y, x)

[1] 5

> union(setdiff(x, y), setdiff(y, x))

[1] 1 5


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 618 浏览

添加回答

举报

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