% 先了解一下reshape的基本用法
% 简而言之就是将矩阵X—>m*n的新矩阵
% 例如:将 3*4的A矩阵—>2*6的B矩阵
A =[1 4 7 10
2 5 8 11
3 6 9 12]
B = reshape(A,2,6)
% 等价于 B = reshape(A(:),2,6)
% 等价于 B = reshape(A(:),2,[])
% 上面运行结果为
B =[ 1 3 5 7 9 11
2 4 6 8 10 12]
% 分析:
% 因为 MATLAB会将A转换成A(:)
% 按列输出 A(:)=[1,2,3,4,5,6,7,8,9,10,11,12]
% 对B,注意B是2行6列,同样MATLAB会按列输入
% B =[ 1 3 . . . 11
% 2 . . . 10 12]
% 你说的意思,是不是矩阵A的每一列,按列元素拍在一行?
% 第一种方法:
C = reshape(A,1,[])
% 第二种方法:
C=A(:)'
由于没能完全理解题主的意思,题主可以根据我说的,按照reshape函数来解决问题
阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。一般使用格式为
其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选
的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)
还是按列填充(byrow=FALSE),默认情况下按列填充
数组(array)与矩阵类似,但是维度可以大于2, 数组可通过array函数创建,形式如下:
myarray <- array(vector, dimensions, dimnames)
其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大
值,而dimnames是可选的、各维度名称标签的列表
由于不同的列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更
为一般。它与你通常在SAS、SPSS和Stata中看到的数据集类似。数据框将是你在R中最常处理的
数据结构
数据框可通过函数data.frame()创建
其中的列向量col1、col2、col3等可为任何类型(如字符型、数值型或逻辑型)。每一列的名
称可由函数names指定
每一列数据的模式必须唯一,不过你却可以将多个模式的不同列放到一起组成数据框。由于数据框与分析人员通常设想的数据集的形态较为接近,我们在讨论数据框时将交替使用术语列和
变量
类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上
对于字符型向量,因子的水平默认依字母顺序创建。这对于因子status是有意义的,因为
“Excellent”“Improved”“Poor”的排序方式恰好与逻辑顺序相一致。如果“Poor”被编码为
“Ailing”,会有问题,因为顺序将为“Ailing”“Excellent”“Improved”。如果理想中的顺序是“Poor” “Improved”“Excellent”,则会出现类似的问题。按默认的字母顺序排序的因子很少能够让人满意.
你可以通过指定levels选项来覆盖默认排序。例如:
各水平的赋值将为1=Poor、2=Improved、3=Excellent。请保证指定的水平与数据中的真实值
相匹配,因为任何在数据中出现而未在参数中列举的数据都将被设为缺失值。数值型变量可以用levels和labels参数来编码成因子。如果男性被编码成1,女性被编码成2,则以下语句
列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合