如何在不使用 for 循环的情况下重塑 R 基矩阵?
我有一些具有以下维度的数据 [100,2,100]。它代表 100 行观察结果、2 列变量,在 100 次实验中重复。
我希望将数据放在维度为 [10000, 2] 的矩阵中,其中我已经有效地消除了实验的概念。
类似于 python 中的 .reshape 。
我找到了重塑包。不过我想知道如果没有它是否可以完成。 在基本 R 中是否有比 for 循环更优雅的方法?
I have some data that has the following dimension
[100, 2, 100]. It represents 100 rows of observations, 2 columns of variables, repeated in 100 experiments.
I would like to have the data in a matrix with the dimensions [10000, 2], where I have effectively eliminated the concept of experiments.
Something like .reshape in python.
I found the reshape package. However I wonder if it can be done without it.
Is there a more elegant way to do this in base R than a for loop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
让我们从一个较小的例子开始,数组
m
是一个 3-D 数组。
如果你想将其重塑为
50x2
数组,我们可以尝试Let's start from a smaller example with array
m
which is a 3-D array
If you want to reshape it into a
50x2
array, we can try您只需设置
dim
属性即可。让我们以 3 x 2 x 3 数组为例:
要分成 2 列,我们可以这样做:
由 reprex 包 (v2.0.1)
You can simply set the
dim
attribute.Let's take an example of a 3 x 2 x 3 array:
To get in into 2 columns, we can do:
Created on 2022-04-02 by the reprex package (v2.0.1)