我在工作空间 60x5 double 中有一个数据(数据名称为testdata)。我有60种不同的测量值和5个样本。要在R中计算,我需要按照我的R代码可以使用它们的顺序保存它们。我需要做的是将每列的每5行转换为一行,并在这5个值下添加下一个转置行。你可以找到我想做的图像。如图所示,黑色矩形应转换为列,然后红色矩形转置并添加到已用于第一步的列下。我需要这样做60次,所以最后应该 300x1 double 。我希望有人可以帮我解决这个问题。感谢您的时间和帮助。
最诚挚的问候,
答案 0 :(得分:3)
看看这是不是你想要的:
A = magic(3); % example matrix
B = A.'; % transpose
B = B(:); % linearize in column-major order
这转换
A =
8 1 6
3 5 7
4 9 2
到
B =
8
1
6
3
5
7
4
9
2
答案 1 :(得分:0)
Reshape将完全符合您的要求:
A = magic(5); % Example matrix
B = reshape(A',[],1); % Reshapes the matrix to one vector.