% 先了解一下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函数来解决问题
数据框DataFrame提出一列(假设名为OneColumn)之后,用DataFrame$OneColumn或者DataFrame[, "OneColumn"]或DataFrame[["OneColumn"]],在默认值drop=True情况下会自动退化为向量。如果用DataFrame["OneColumn"]则提取的为仅有OneColumn列的数据框,其实质仍为列表。
R语言的对象(Objects)主要包括向量、矩阵、数组、数据框和列表。
向量(vector)是R语言中最基本的数据类型,执行组合功能的函数c()可用来创建向量。
数据框(Data Frames)是一种特殊的列表,其中所用元素长度都相等,列表中的每个元素都可以看作一列,每个元素的长度可以看作行数。
1. paste 函数paste(v1,v2,sep="")
拼接对象是向量
2. rbind(df1,df2) 行合并
cbind(df1,df2) 列合并
3. merge 按共有变量进行合并(匹配)
merge(x,y,by=intersect(names(x),names(y)),by.x=by, by.y=y, all =FALSE, all.x=FALSE,all.y=FALSE,...)