首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何求R中两个集合的差值?

如何求R中两个集合的差值?
EN

Stack Overflow用户
提问于 2013-03-18 16:01:51
回答 4查看 130关注 0票数 4

假设:

代码语言:javascript
运行
复制
x <- c(2,-5)
y <- c(1,2,3)

我如何获得:

代码语言:javascript
运行
复制
z = c(2-1, 2-2, 2-3, -5-1, -5-2, -5-3) = c(1, 0, -1, -6, -7, -8)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-18 16:04:02

您可以按如下方式使用rep

代码语言:javascript
运行
复制
rep(x, each = length(y)) - y
# [1]  1  0 -1 -6 -7 -8
票数 9
EN

Stack Overflow用户

发布于 2013-03-18 16:07:33

使用outer

代码语言:javascript
运行
复制
> as.vector(outer(x, y, '-'))
# [1]  1 -6  0 -7 -1 -8

如果你想要另一种方式:

代码语言:javascript
运行
复制
> as.vector(t(outer(x, y, '-')))
# [1]  1  0 -1 -6 -7 -8
票数 12
EN

Stack Overflow用户

发布于 2013-03-18 17:24:56

添加答案是为了添加备选方案..

代码语言:javascript
运行
复制
> x
[1]  2 -5
> y
[1] 1 2 3
> rowSums(expand.grid(-y,x))
[1]  1  0 -1 -6 -7 -8
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15472098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档