矩阵-matrix-2018年6月9日
今天很可惜,没有过多地学习R语言(主要因为去听了党课,学习了党重要讲话,所以没有看书),所以今天就总结一个矩阵吧。不过多的学习了。
首先稍微复习一下昨天的因子,首先要记得的就是mode()看每个元素,class()看整体是什么,另外如果你把TRUE abc 1都传给一个向量,那向量会把它进行类型转换。安全性:字符串>数字>逻辑值。会尽量向安全性高的转换。这个是隐式类型转换。当然也可以用as家族进行类型转化,例如将数字转换成字符串:as.character()(可以记为char+acter)
接下来将矩阵
矩阵是对象量的扩展,向量是一维结构,而矩阵是二维结构,并且所有元素类型也必须相同。
1:创建矩阵的方法
matrix()
也可以对向量进行修改dim属性
也可以把若干个向量组装成一个矩阵,也可以把若干矩阵合成一个矩阵:matrix,而且矩阵可以增加行名和列名方便我们找数据的时候不用去数他是第几行第几列。(当然你想用which挨个找我也不说话!)
首先如果学过线性代数,就很容易理解矩阵是什么,比如矩阵的分解,想乘之类的在R里面都有。
那么正式说创建矩阵:
(1),创建NA矩阵(复习一下NA代表缺失值)

(2),创建有值得

按行优先

(3)组装


、
看看mode和class?

2索引

矩阵也是从第一个开始的.另外我们也可以给好几个列。


3给行和列名字:修改colnames和rownames注意是有s的是复数不是单数啊!

就像这样
然后举一个我们平时很容易用到的小例子,也顺便讲一个知识点:
比如上面的x,假如我们把他其中一个值改成缺失值,na

那么怎么才能让现在这个x里面的NA变成其他数值呢? 另外怎么找到这些NA呢?
首先我们可以通过在索引中添加条件选择:

那么会返回一个什么呢?
我们首先来看is.na(x)会变成什么样子。
对矩阵进行这个条件判断。会返回一个和矩阵一样大小的矩阵(行名和列名都相同哦!)

类似这样,然后对于同样大小的两个矩阵,可以进行索引功能。

就是把上面的is.na完全放入方括号[]中,就能够对其中的符合条件的值进行调取。是不是很方便!
至于矩阵的计算,因为涉及到很多线性代数知识,先不讲了。今天先这样。
浙公网安备 33010602011771号