首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中从一个矩阵到另一个矩阵寻找模式

在R中从一个矩阵到另一个矩阵寻找模式
EN

Stack Overflow用户
提问于 2015-08-11 12:07:53
回答 2查看 80关注 0票数 0

我有一个矩阵(V),如下所示

代码语言:javascript
运行
复制
         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[V1,]   37   15   30    3    4   11   35   31
[V2,]   44   31   45   30   24   39    1   18
[V3,]   39   49    7   36   14   43   26   24
[V4,]   45   31   26   33   12   47   37   15
[V5,]   23   27   34   29   30   34   17    4
[V6,]    9   46   39   34    8   43   42   37

我有另一个矩阵(X)

代码语言:javascript
运行
复制
         [,1] [,2] [,3] [,4] [,5] [,6] 
[X1,]   37   15   21    3    4   11   35   31
[X2,]   37   37   45   30   24   39    1   18
[X3,]   39   49    7   36   14   43   26   24
[X4,]   45   31   26   37   12   47   37   15
[X5,]   23   27   34   29   30   37   17    4
[X6,]    9   46   39   34    8   37   42   37

现在,每一行矩阵V应该与每一行矩阵X相匹配,以得到如下所示的计数矩阵

代码语言:javascript
运行
复制
  [,V1] [,V2] [,V3] [,V4] [,V5] [,V6] [,V7] [,8]
[X1,]   7      
[X2,]   

检查X1和V1之间的公共数字?

我怎么用R做这件事?请给我一些建议

EN

Stack Overflow用户

回答已采纳

发布于 2015-08-11 12:23:37

下面是一种使用apply的快速“蛮力”方式

代码语言:javascript
运行
复制
row.names(V) <- paste0("V",seq(6))
row.names(X) <- paste0("X",seq(6))

apply(V, 1, function(i){
  apply(X, 1, function(j){
    length(intersect(i, j))
    }
  )
})

   V1 V2 V3 V4 V5 V6
X1  7  1  0  3  1  1
X2  2  6  2  2  1  2
X3  0  2  8  1  0  2
X4  3  2  1  7  0  1
X5  3  1  0  1  7  2
X6  1  1  1  1  1  7
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31941383

复制
相关文章

相似问题

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