R: matrix & array 生成、操作矩阵、数组:
###################################################
问题:生成、操作矩阵 18.4.27
怎么生成矩阵 matrix、,,及其相关操作 ???
解决方案:
D = d = matrix(nrow = 3,ncol = 3) #生成一个空矩阵,再填写内容。
a1 = c(1,4,2); a2 = c(2,2,3); a3 = c(3,1,0);
D[,1] = a1; D[,2] = a2; D[,3] = a3
d[1,] = a1; d[2,] = a2; d[3,] = a3; #D 与 d 互为转置,证明向量无行列之分。。
DD = c(a1,a2,a3); length(DD) #$生成一个向量,是三个向量的总长
mat1 = matrix(nrow = 8,ncol = 4); #得到8x4的矩阵,所有元素为NA
a_mat = matrix(data=a,nrow=4,byrow = T); a_mat #用向量 a 生成矩阵,长度不够循环补充。
mat2 = as.matrix(cbind(c1,c2,c3,c4)) # as.matrix, is.matrix 很有用
#相关操作:
colnames(mat1) = c("**","**","**","**"); #设置已有矩阵的列名字。。colnames(mat1)查看列名
rownames(mat1) = c(); #设置行名,,rownames(mat1)查看行名
mat1[i,j];
mat1[,c(2,4)];
mat1["name",]; #返回名为 “name” 的行
#矩阵特有运算: 转置: t(mat1); 矩阵乘法: mat1 %*% mat2; 求逆: solve(mat1);
#函数rowSums(mat1), colSums(mat1), rowMeans(mat1), colMeans(mat1) 分别可以计算行总和,行均值,列总和,列均值。
讨论扩展:
另请参阅:
###################################################
问题:生成、操作数组 18.4.27
怎么生成数组 array、,,及其相关操作 ???
解决方案:
a<-array(rep(1:3,each=3),dim=c(3,3))
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
数组:一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的。
讨论扩展:
另请参阅:
R: matrix & array 生成、操作矩阵、数组:的更多相关文章
- R语言编程艺术#02#矩阵(matrix)和数组(array)
矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...
- R 操作矩阵和计算SVD的基本操作记录
在R中可以用函数matrix()来创建一个矩阵,应用该函数时需要输入必要的参数值. > args(matrix) function (data = NA, nrow = 1, ncol = 1, ...
- Scala编程入门---数组操作之Array.ArrayBuffer以及遍历数组
在Scala中,Array代表的含义与Java类似,也是长度不可改变的数组.此外,由于Scala与java都是运行在JVM中,双方可以互相调用,因此Scala数组底层实际上是java数组.列如字符串数 ...
- 使用POI对excel进行操作生成二维数组
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- 操作 numpy 数组的常用函数
操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...
- iOS 判断数组array中是否包含元素a,取出a在array中的下标+数组方法详解
目前找到来4个解决办法,第三个尤为简单方便 NSArray * arr = @["]; //是否包含 "]) { NSInteger index = [arr indexOfObj ...
- JavaScript jQuery 中定义数组操作及数组操作
1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象 Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维 ...
- 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值
1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name) # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...
- 算法进阶面试题02——BFPRT算法、找出最大/小的K个数、双向队列、生成窗口最大值数组、最大值减最小值小于或等于num的子数组数量、介绍单调栈结构(找出临近的最大数)
第二课主要介绍第一课余下的BFPRT算法和第二课部分内容 1.BFPRT算法详解与应用 找到第K小或者第K大的数. 普通做法:先通过堆排序然后取,是n*logn的代价. // O(N*logK) pu ...
随机推荐
- flask初次搭建rest服务笔记
官网中有用的记录一下,太多只是记录了最简单的官网docs:http://flask.pocoo.org/docs/0.12/ 跑起来一个程序 $ export FLASK_APP=hello.py $ ...
- VC2010编译时提示:转换到 COFF 期间失败: 文件无效或损坏
有时候新安装好VS2010后编译时就提示上述错误,罗列一下从网上查找到的几种解决方案: 方案1: 点击“项目”-->“属性”--> “清单工具”, 然后选择"输入和输出’--&g ...
- systemverilog FAQ(zz)
1. What is clocking block? Ans: Clocking block can be declared using the keywords clocking and endcl ...
- 操作系统原理2——OS结构
操作系统原理2——OS结构 计算机系统是由硬件系统和软件系统两部分组成, 操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个 ...
- linux ps aux 结果解释
# ps aux | moreUSER PID %CPU %MEM VSZ RSS TTY STAT START ...
- java入门了解08
1.集合深入 (一)hashSet实现原理: 当我们添加一个元素,HashSet会计算出其Hash值,再根据hash值在哈希表中找出存储他的位置 有两种情况:a.如果算出的hash值在哈希表中位置没有 ...
- Zookeeper简单配置
1.配置zookeeper 解压tar包后,在conf目录下,有一个zoo_sample.cfg,拷贝一份并命名为zoo.cfg cp zoo_sample.cfg zoo.cfg 编辑修改数据路径, ...
- ubuntu下搭建Scrapy框架简单办法
1. 先执行以下命令 sudo apt-get install python-lxml sudo apt-get install libxslt1-dev sudo apt-get install p ...
- Linux下system函数
http://www.jb51.net/article/40517.htm 浅析如何在c语言中调用Linux脚本 http://blog.csdn.net/koches/article/detai ...
- hdu-5653 Bomber Man wants to bomb an Array.(区间dp)
题目链接: Bomber Man wants to bomb an Array. Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65 ...