gpt4 book ai didi

r - 向量化矩阵

转载 作者:行者123 更新时间:2023-12-01 16:19:01 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Convert a matrix to a 1 dimensional array

(11 个回答)


4年前关闭。




我有一个 1000 x 1000 的大型 2D 矩阵。我想对其进行整形,使其成为一列(或一行)。例如,如果矩阵是:

A B C
1 4 7
2 5 8
3 6 9

我想把它变成:

1 2 3 4 5 6 7 8 9



我不需要保留列标题,只需要保留数据的顺序。我如何使用 reshape2 执行此操作(我认为哪个包最容易使用)?

为了澄清,我提到了 reshape因为我认为这是最好的方法。我可以看到有一些更简单的方法让我非常满意。

最佳答案

我认为很难找到比以下更紧凑的方法:

c(m)
[1] 1 2 3 4 5 6 7 8 9

但是,如果您想保留矩阵结构,那么对 dim 属性进行修改将是有效的:
dim(m) <- c(dim(m)[1]*dim(m)[2], 1)
m
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
[5,] 5
[6,] 6
[7,] 7
[8,] 8
[9,] 9

将有更紧凑的方法来获取维度的乘积,但上述方法强调了 dim 属性是矩阵的二元素向量。在该示例中获得“9”的其他方法包括:
> prod(dim(m))
[1] 9
> length(m)
[1] 9

关于r - 向量化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4570537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com