介绍
怎么在R语言中合并矩阵?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
什么是R语言
R语言是用于统计分析,绘图的语言和操作环境,属于GNU系统的一个自由,免费,源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
在矩阵合并中,常见的方法有cbind()和rbind ()
其中,前者为按列合并,后者为按行合并。
但是这两个函数有个缺点,就是不能应用到循环之中,例如:
A<矩阵(1:12,nrow =, 4, byrow =, T) nrow  B<矩阵(1:8,=,4,byrow =, T) C<-cbind (A, B)
得到的矩阵C为【按列合并两者行数必须相同】:
但是如果将这个方法应用在循环中,就无法取得预期效果:
A<矩阵(1:12,nrow =, 4, byrow =, T) C<矩阵(=0,ncol 3, byrow =, F) for (小姐:1:3拷贝),{ ,,C [1] & lt;——(1,) }
结果为:
:
C:
所以,如果要循环写入的话,不需要的循环即可:
A<矩阵(1:12,nrow =, 4, byrow =, T) C<矩阵(=0,ncol 3, byrow =, F) C [1] & lt;——(1, 1:3)
C:
,
同样的方法也可以用在一行或一列统一写入新矩阵中
搞定!
<强>补充:R语言入门——矩阵和数组的操作强>
矩阵操作:
矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型,字符型或逻辑型)。
可通过函数矩阵()创建矩阵。
一般使用格式为:
myymatrix & lt;作用;矩阵(向量,,nrow=number_of_rows, ncol=number_of_columns, byrow=logical_value, dimnames=列表(char_vector_rownames, char_vector_colnames))
其向量中包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的,以字符型向量表示的行名和列名。
选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充。
祝辞,y & lt;矩阵(1:20,nrow=5, ncol=4) 在y ,,,,[1],[2],[3],[4] [1],,,,1,,,,6,,,11,,16 [2],,,,2,,,,7,,,12,,17 [3],,,,3,,,,8,,,13,,,18岁 [4],,,,4,,,,9,,,14,,19 [5],,,,5,,,10,,,15,,,20
可按行排列,按列排列:
矩阵下标:
数组
数组(数组)与矩阵类似,但是维度可以大于2。数组可通过数组函数创建,形式如下:
myarray & lt;作用;数组(向量,时间维度,大敌;;dimnames)
其向量中包含了数组中的数据,维度是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的,各维度名称标签的列表。
祝辞,dim1<作用;c (“A1",“A2",“A3") 祝辞,dim2 & lt;作用;c (“B1",“B2",“B3") 祝辞,dim3<- c (“C1",“C2",“C3",“C4") 祝辞,z & lt;作用;数组(1:36时,,c (3,, 3,, 4),, dimnames=列表(dim1, dim2,, dim3)) 在z ,,,C1 ,,B1 B2  B3 A1 ,, 1,, 4, 7 A2 , 2,, 5, 8 A3 , 3,, 6, 9 ,,,,C2 ,,B1 B2  B3 A1 10, 13, 16岁 A2 11岁,14岁,17岁 A3 12, 15, 18岁 ,,,,C3 ,,B1 B2  B3 A1 19日,22日,25岁 A2 20, 23岁,26岁 A3 21日,24日,27岁 ,,,C4 ,,B1 B2  B3 A1 28日,31日,34 A2 29个,32岁,35岁 A3 30, 33岁,36
看完上述内容,你们掌握怎么在R语言中合并矩阵的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!