【已解决】R语言添加行、列,转置操作

原创 2017年09月30日 20:20:44

严格来说,矩阵的长度和维度是固定的,因此不能增加或删除行或列。但是可以给矩阵重新赋值,这样可以得到和增加或删除一样的效果。

 

    函数rbind()(代表row bind,按行组合)和函数cbind()(代表column bind,按列组合)可以给矩阵增加行或列。

> one <- c( 1, 1, 1, 1 )

> z <- matrix( c( 1, 2, 3, 4, 1, 1, 0, 0, 1, 0, 1, 0 ),nrow=4 )

> cbind( one, z )

     one      

[1,]   1 1 1 1

[2,]   1 2 1 0

[3,]   1 3 0 1

[4,]   1 4 0 0

 

> cbind( 2, z )

     [,1] [,2] [,3] [,4]

[1,]    2    1    1    1

[2,]    2    2    1    0

[3,]    2    3    0    1

[4,]    2    4    0    0

注:这里用到了循环补齐(recycling)。

    这里,cbind()把一列由1组成的向量和z组合在一起,创建了一个新矩阵。

 

    不过,请谨慎使用cbind()!和创建向量一样,创建一个新的矩阵是很耗时间的(毕竟矩阵也属于向量)。创建新矩阵会减低程序速度,如果在循环中重复创建矩阵,将浪费大量的时间。因此在循环中每次往矩阵中添加一行(列),最后矩阵会变成一个大矩阵,这种做法是不可取的,最好一开始就定义好一个大矩阵。这个事先定义的矩阵是空的,但是在循环过程中逐行或列进行赋值,这种做法避免了循环过程中每次进行耗时的矩阵内存分配。


处理矩阵转置问题:

> tx<- read.table("x.txt", header=FALSE)

> ty<- t(tx)

> write.table(ty, file="D:/ty.txt", quote-F, col.name=F, row.names=F)


参考文章:

http://blog.csdn.net/thoixy/article/details/40502829

如何优雅地使用R实现行转列

原文链接:http://www.datastudy.cc/to/51 网上有网友问到:在一个文件夹下,收集了几个股票数据的文件,对应的股票名称为第2列,对应的时间为第3列,对应的收盘价为第10列。...

R语言中最简单的向量赋值方法

R语言中最简单的向量赋值方法简介:1. 生成等差数列的向量xx 结果为> x [1] 1 2 3 4 5 6 7 8 9 102. 将x的值全部修改成0x[] x[] x [...
  • rumswell
  • rumswell
  • 2015年07月13日 00:21
  • 15018

R:增加或删除矩阵的行或列

严格来说,矩阵的长度和维度是固定的,因此不能增加或删除行或列。但是可以给矩阵重新赋值,这样可以得到和增加或删除一样的效果。       函数rbind()(代表row bind,按行组合)和函数c...
  • thoixy
  • thoixy
  • 2014年10月27日 09:02
  • 9826

R语言之矩阵操作

R语言作为一门统计语言,肯定缺少不了矩阵处理。今天来总结出来以下关于矩阵运算的函数,其中包括矩阵的求和,转置,内积,外积等。 +, -, * , / 矩阵的四则运算,对应位置的元素进行运算...

R语言数据框行转列实例

目的:需要把数据框的行列进行转置 方法: # 原始数据框 > hrl_jd_mon     年份 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 1 2010年 51.2 ...

C语言之基本算法42—矩阵转置及按行按列排序

//矩阵转置 按行按列排序 /* ================================================================== 题目:输入m*n矩阵,按行...

基于visual Studio2013解决C语言竞赛题之0705矩阵转置

题目解决代码及点评/* 5、 写一函数,将一个3×3的矩阵转置。 */ #include #include void main() { int a[3][3]; int b[3][3]; ...

线性代数导论5——转置-置换-向量空间R

本文是Gilbert Strang的线性代数导论课程笔记。课程地址:http://v.163.com/special/opencourse/daishu.html  第五课时:转置-置换-向量空间R ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【已解决】R语言添加行、列,转置操作
举报原因:
原因补充:

(最多只允许输入30个字)