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是各维的长度组成的向量。

数组:一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的。

讨论扩展:

另请参阅:

原文地址:https://www.cnblogs.com/li-20151130/p/9026636.html

时间: 2024-11-16 15:48:36

R: matrix & array 生成、操作矩阵、数组:的相关文章

JS数组(Array)操作汇总

1.去掉重复的数组元素.2.获取一个数组中的重复项.3.求一个字符串的字节长度,一个英文字符占用一个字节,一个中文字符占用两个字节.4.判断一个字符串中出现次数最多的字符,统计这个次数.5.数组排序. 6.快排. 7.删除/添加数组项. 8.数组随机顺序输出. 9.数组求和.最大值. 10.判断是否为数组. 11.冒泡排序. 1.去掉重复的数组元素. Array.prototype.unique = function() { var ret = []; var o = {}; for(var i

使用POI对excel进行操作生成二维数组

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.poi.hssf.usermodel.HSSF

hdu4920 Matrix multiplication 模3矩阵乘法

hdu4920 Matrix multiplication Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 568    Accepted Submission(s): 225 Problem Description Given two matrices A and B of size n×n, find the product o

POJ2155 Matrix 二维树状数组的应用

有两种方法吧,一个是利用了树状数组的性质,很HDU1556有点类似,还有一种就是累加和然后看奇偶来判断答案 题意:给你一个n*n矩阵,然后q个操作,C代表把以(x1,y1)为左上角到以(x2,y2)为右下角的矩阵取反,意思就是矩阵只有0,1元素,是0的变1,是1的变0,Q代表当前(x,y)这个点的状况,是0还是1? 区间修改有点特别,但是若区间求和弄懂了应该马上就能懂得: add(x2,y2,1); add(x2,y1,-1);//上面多修改了不需要的一部分,所以修改回来 add(x1,y2,-

android导入项目出现R文件不能生成

关于原因网上有好多,比如 1.有时候eclipse不自动编译,把project clean一下,让R.java重新生成 2.选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成. 3.选择工程,右键 Android Tools >> Fix Project Properties 这个操作有时候可

Codeforces 220B - Little Elephant and Array 离线树状数组

This problem can be solve in simpler O(NsqrtN) solution, but I will describe O(NlogN) one. We will solve this problem in offline. For each x (0?≤?x?<?n) we should keep all the queries that end in x. Iterate that x from 0 to n?-?1. Also we need to kee

js数组的操作及数组与字符串的相互转化

数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/(.)(?=[^$])/g,"$1,").split(",");       //字符串转化为数组 var obj2 = "new2abcdefg".split("");                              

es6 Array.from() 将类似数组的对象转化为数组(1)

Array.from() 将数组对象转化为数组,应用方式Array.from(arr) arr数组对象的名称; 常用与类似数组的对象是DOM操作返回的Nodelist集合(如: let ps = document.querySelectorAll('p')),函数内部的arguments对象(如:function(){ let args = Array.from(arguments); //...}) 备注: querySelectorAll('')返回的是一个类似数组的对象,只有将对象转化为数

【LeetCode-面试算法经典-Java实现】【059-Spiral Matrix II(螺旋矩阵II)】

[059-Spiral Matrix II(螺旋矩阵II)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example, Given n = 3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8,