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 ...
随机推荐
- 每天一个Linux命令(16)which命令
which命令用于查找并显示给定命令的绝对路径. 环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就 ...
- Eclipse cdt mingw配置记录
本人下载的是Eclipse C/C++ IDE for Neon.3,下载页面是:http://www.eclipse.org/cdt/downloads.php. 1. 运行eclipse后,在He ...
- IE盒模型和标准盒模型
标准盒模型和ie盒模型(怪异盒模型) w3c标准盒模型 width和height不包括padding和border ie盒模型 width和height包含padding和border ie8以上都是 ...
- 【leetcode刷题笔记】Word Search
Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...
- android HDMI (一):HDMI基础篇【转】
本文转载自:http://blog.csdn.net/xubin341719/article/details/7713450 说到android的HDMI,从android 2.2.android2. ...
- 基于msm8909高通平台Android驱动开发之hello程序
本文转载自:http://www.itwendao.com/article/detail/227839.html Android驱动开发之Hello实例: 驱动部分 modified: ker ...
- 大话设计模式--状态模式 State -- C++实现实例
1.状态模式: 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来就像是改变了其类. 状态模式解决的是当控制一个对象状态转换的条件表达式过于复杂, 把状态的判断逻辑转移到表示不同状态的一系列类 ...
- Cocos2d-x中手动构造Json::Value
由于项目需要Json::Value 不是由服务器传送过来,而是自己手动构造. 带数组的json Json::Value items; for(int i=0,i<2;i++) { items[i ...
- mysql 使用过程中出现问题
1. mysql_front连接报错,sql执行错误#3167的解决方案 提示:The 'INFORMATION_SCHEMA.SESSION_VARIABLES' feature is disabl ...
- 分享知识-快乐自己:MyBtis内置缓存机制
在实际的项目开发中,通常对数据库的查询性能要求很高,而mybatis提供了查询缓存来缓存数据,从而达到提高查询性能的要求. mybatis的查询缓存分为一级缓存和二级缓存,一级缓存是SqlSessio ...