【发布时间】:2020-10-25 00:05:22
【问题描述】:
我有两个不同的向量 - 一个是零和 0-0.5 之间的随机实数 (vec1),另一个是有序向量 (vec2):
vec1 <- c(0.42887017, 0.26703377, 0, 0, 0, 0.33203175, 0.16787991, 0, 0, 0.19483491, 0.41869476, 0.05820833, 0.37449489, 0, 0, 0, 0, 0, 0.44390140, 0.19483491, 0.06736238, 0.31630117, 0, 0, 0, 0, 0, 0, 0.27121130, 0)
vec2 <- c(-0.1, -0.1, -0.1, -0.1, -0.1, 1.2, 1.2, 1.2, 1.2, 1.2, 0.5, 0.5, 0.5, 0.5, 0.5, 2.0, 2.0, 2.0, 2.0, 2.0, -0.6, -0.6, -0.6, -0.6, -0.6, 0.25, 0.25, 0.25, 0.25, 0.25)
对于第一个向量 vec1,我想创建大于 0 的向量集群,而在第二个向量 vec2 中,我希望将等价定位的索引元素集群如下(见粗体):
vec1 -> 0.42887017, 0.26703377, 0, 0, 0, 0.33203175, 0.16787991, 0, 0, 0.19483491, 0.41869476, 0.058208933, 0.3744 0, 0, 0, 0, 0, 0.44390140, 0.19483491, 0.06736238, 0.31630117, 0, 0, 0, 0, 0, 0, 0.27121130, 0
vec2 -> -0.1, -0.1, -0.1, -0.1, -0.1, 1.2, 1.2, 1.2, 1.2, 1.2, 0.5, 0.5, 0.5, 0.5, 0.5, 2.0, 2.0, 2.0, 2.0, 2.0, -0.6, -0.6, -0.6, -0.6, -0.6, 0.25, 0.25, 0.25, 0.25, 0.25
最好将输出放在具有等效索引的矩阵列表中:
[[1]]
[,1] [,2]
[1,] 0.4288702 -0.1
[2,] 0.2670338 -0.1
[[2]]
[,1] [,2]
[1,] 0.3320318 1.2
[2,] 0.1678799 1.2
[[3]]
[,1] [,2]
[1,] 0.19483491 1.2
[2,] 0.41869476 0.5
[3,] 0.05820833 0.5
[4,] 0.37449489 0.5
[[4]]
[,1] [,2]
[1,] 0.44390140 2.0
[2,] 0.19483491 2.0
[3,] 0.06736238 -0.6
[4,] 0.31630117 -0.6
[[5]]
[,1] [,2]
[1,] 0.2712113 0.25
有人对如何做到这一点有一些想法吗?
谢谢
【问题讨论】:
-
同等索引是什么意思?从您的示例看来,您似乎想要检索 vec1 中大于 9 的元素的索引?
-
抱歉,我的措辞可能不对。我想让 vec2 的元素聚集在与 vec1 相同的位置。然后我想将相应的簇组合成两列矩阵。
-
@Huntmerson 请在下面查看我的解决方案,如果它符合您的原始问题要求,请投票并接受它。
标签: r list matrix indexing cluster-computing