【发布时间】:2020-05-15 14:21:14
【问题描述】:
我有两个带有维度的矩阵。矩阵中的一些单元格是 NA,其他的则填充了列表列表。如果矩阵 1 的单元格中有一个列表,那么矩阵 2 的相应单元格中总会有一个列表。
我需要的是另一个矩阵,它计算矩阵 1 的每个列表中的每个项目在矩阵 2 中的相应单元格中的次数。
这里是矩阵:
> matrix_1
[,1] [,2]
[1,] NA c(1001, 1002)
[2,] c(1001, 1003) NA
> matrix_2
[,1] [,2]
[1,] NA c(1001, 1002, 1004)
[2,] c(1001, 1003, 1001) NA
这就是我要找的东西:
[,1] [,2]
[1,] NA 2
[2,] 3 NA
输出矩阵的单元格 [2,1] 为 3,因为在该单元格的矩阵 2 内的相应列表中,1003 出现了一次,而 1001 出现了两次。输出矩阵的单元格 [1,2] 为 2,因为 1001 和 1002 在该单元格的矩阵 2 的相应单元格内都出现过一次。
有什么想法吗?我不使用 R 中的大量矩阵,所以我有点迷茫。我可以将其设置为数据框,但认为矩阵可能更容易/更快。
这是输出:
Matrix 1 = structure(list(NA, c(1001, 1003), c(1001, 1002), NA), .Dim = c(2L,
2L))
Matrix 2 = structure(list(NA, c(1001, 1003, 1001), c(1001, 1002, 1004),
NA), .Dim = c(2L, 2L))
【问题讨论】:
标签: r