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 ...
随机推荐
- Oracle数据库体系结构(6)数据库归档重做日志文件管理
归档重做日志文件的概念和选择 Oracle数据库能够把已经写满了的重做日志文件保存到一个或多个指定的离线位置,这种保存的文件为归档重做日志文件.通常情况下一个归档重做日志时一个被LGWR写满的重做日志 ...
- nodejs模块之http&&url
我们使用nodejs中的http模块来进行网络操作 一.什么是HTTP协议: 超文本传输协议(HyperText Transfer Protocol)HTTP假定其下层协议提供可靠传输. 因此,任何能 ...
- BZOJ 1656 [Usaco2006 Jan] The Grove 树木:bfs【射线法】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1656 题意: 给你一个n*m的地图,'.'表示空地,'X'表示树林,'*'表示起点. 所有 ...
- linux应用之vim的常用命令
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标当前行开始,光标 ...
- java_面试_02_Java面试题库及答案解析
二.参考资料 1.Java面试题库及答案解析
- Android学习路线01
part1:Java 1.Java基础 2.Java面向对象 3.数组与集合,异常,常用类 4.Io流 5.多线程socket编程 6.数据库,网络传输,数据解析 part2:Android 1.An ...
- freeMarker(十六)——FAQ
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.JSP 和 FreeMarker ? 我们比较 FreeMarke ...
- bzoj2654tree
给定一个n个点m条边的图,每条边有黑白两色,求出恰好含need条白边的最小生成树 最小生成树...仿佛并没有什么dp的做法 大概还是个kruskal的板子再加点什么东西 考虑到“恰好含need条白边” ...
- Nginx开启关闭脚本,php-cgi脚本
php-cgi nginx与php进行cgi程序 php-cgi -b 127.0.0.1:9001 -c F:\ck\php5.4\php.ini 开启nginx cd F:\ck\nginx1.8 ...
- Centos6.5 安装pip
1.下载 sudo wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 2.安装 python get-pip.py 参 ...