【问题标题】:Rescale one list of matrices to another将一个矩阵列表重新缩放为另一个
【发布时间】:2020-07-20 03:55:13
【问题描述】:

我有两个这样的 2 列矩阵列表:

> stck.list
[[1]]
             [,1]         [,2]
[1,]  0.000000000  0.000000000
[2,]  0.001082767 -0.008137698
[3,] -0.005346008  0.013462373
[4,]  0.012179531  0.046037670
[5,]  0.035469135  0.033196833

[[2]]
             [,1]         [,2]
[1,]  0.000000000 0.0000000000
[2,]  0.004100097 0.0001743182
[3,]  0.001005368 0.0008254498
[4,]  0.011574428 0.0077799754
[5,] -0.006285223 0.0063603749

> stck.list.2
[[1]]
            [,1]         [,2]
[1,] 0.000000000  0.000000000
[2,] 0.003678552  0.009008164
[3,] 0.007416574  0.003603477
[4,] 0.005194380 -0.004445452
[5,] 0.002181469 -0.005857811

[[2]]
              [,1]          [,2]
[1,]  0.0000000000  0.0000000000
[2,]  0.0020240535 -0.0011925407
[3,] -0.0003965362  0.0013492189
[4,]  0.0053106932  0.0001212016
[5,]  0.0023810324  0.0054779249

我需要从第一个列表的第一个矩阵的第一列到第二个列表的第一个矩阵的第一列重新调整值,等等。 我可以手动为每一列分别为一个矩阵执行此操作:

sc_x.1 <- scales::rescale(stck.list[[1]][,1], to = range(stck.list.2[[1]][,1]))
sc_y.1 <- scales::rescale(stck.list[[1]][,2], to = range(stck.list.2[[1]][,2]))

这样做是真的吗? 所以主要目标是从对应轴上的两个列表中点画出每个对应的矩阵。也许有更简单的方法来做到这一点?

【问题讨论】:

    标签: r list rescale


    【解决方案1】:

    我们可以使用地图

    Map(function(x, y) scales::rescale(x, to = range(y)) , stck.list, stck.list.2)
    

    【讨论】:

    • 谢谢!这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    相关资源
    最近更新 更多