统计分析编程软件学习——向量、矩阵

写在前面

随着大数据的崛起,近年来,R语言编程软件被频繁用于大量数据的处理运用之中,R语言具有编程简单,上手容易,分析快速等等有点,特别是拥有强大的诸如ggplot2等科研绘图包,是一款很棒的科研数据处理。

此外,你还可以运用R软件来对诸如销售数据挖掘、金融分析、金融量化交易、金融数据分析、行业分析决策等等,大数据时代,你需要一个快速上手且能迅速运用的数据分析软件。

当然,作为一款需要编的数据处理软件,编程是必须要学会的,敲代码是一个日积月累的过程,为帮助自己重新学习R软件,笔者决定重开公众号,一篇一篇的书写整个学习过程,也为大家提供一个很好的学习平台。

作者需要您的鼓励,看完之后如果觉得好的话,点赞一下哦!!

注意:学习是一个日积月累的过程,希望你每天都有进步哦!

1、向量

向量是几何里面的概念,向量具有方向。但R语言里面的向量却不是,它是一维数组,R语言里面的向量有数值型、字符型、逻辑型三种向量。如:

A

A1

A11

值得注意的是:以上三个分别属于数值型、字符型和逻辑型向量,且向量内部值均为相同类型并以函数c()来书写,注意:在字符型向量中,字符必须为在英文输入条件下的双引号。

1.2、向量扩展

向量可以进行四则运算,如下例子:

>A

>B

>A*B

[1] 0 3 8 15

>B

[1] 2 3 4 5

>A/B

[1] 0.0000000 0.3333333 0.5000000 0.6000000

>A+B

[1] 2 4 6 8

>A-B

[1] -2 -2 -2 -2

上面的代码第二行是自动生成一个2-5的数据型向量,而后面的代买实现了向量A与B的乘、除、加和减四则运算,当然也可以运行混合四则运算,大家可以自行尝试一下,当然大家也可以思考下如果在Excel里面完成四则运算特别是四则混合运算的麻烦程度。

当然,你也可以用自定义的数据向量来画图,仅需一行代码即可实现,如:

>A

>B

>plot(A,B)

上面三行代码实现了横坐标从0-3,纵坐标从2-5的一副散点图:

>A

>B

>lines(A,B)

上面三行代码实现了横坐标从0-3,纵坐标从2-5的一副散点图+回归线:

很明显的可以看出A与B之间是成非常强的正相关关系。

2、矩阵。

在R语言中矩阵是一个二维数组,矩阵内部的每一个元素都必须拥有相同的类型或模式(上面提到的三种数据类型)。矩阵内部有矩阵元素,行/列多少,行名列名。

例如:

>y

>y

[,1] [,2] [,3] [,4] [,5]

[1,] 1 5 9 3 7

[2,] 2 6 10 4 8

[3,] 3 7 1 5 9

[4,] 4 8 2 6 10

代码第一句的意思是:以数据1-10创建一个名为y的4列5行矩阵。这里面创建矩阵使用了matrix()函数,nrow=value是行的意思,ncol=value是列的意思。

2.1、矩阵填充。

实际运用中,如果我们需要创建一个待分析的数据矩阵如何实现呢?这个也很简单,首先是输入含数据向量,接下来是定义行和列名,最后使用matrix()函数进行实现。代码实现过程如下:

>y

>rnames

>cnames

>A

>A

c1 c2 c3 c4 c5 c6 c7 c8 c9 c10

r1 1 2 8 4 9 28 56 23 12 3

r2 1 2 8 4 9 28 56 23 12 3

r3 1 2 8 4 9 28 56 23 12 3

r4 1 2 8 4 9 28 56 23 12 3

r5 1 2 8 4 9 28 56 23 12 3

r6 1 2 8 4 9 28 56 23 12 3

r7 1 2 8 4 9 28 56 23 12 3

r8 1 2 8 4 9 28 56 23 12 3

r9 1 2 8 4 9 28 56 23 12 3

r10 1 2 8 4 9 28 56 23 12 3

以上代码实现了自己创作自己想要的矩阵过程,第二行和第三行代码分别创建了行名和列名的向量,第四行代码的意思是:选择y向量的数据,创建10X10行的矩阵,这个矩阵按照行进行填充(代码byrow=TRUE,如果按列进行填充则是byrow=FALSE),最后指定了该矩阵的行名和列名,第5行代码对其进行显示。

注意:如果待分析数据总和数量与行或列的数量一致的话,就会出现上面这种情况,所以要特别注意合理分配数据行数和列数。例如:

>y

>rnames

>cnames

>A

>A

c1 c2 c3 c4 c5

r1 1 2 8 4 9

r2 28 56 23 12 3

r3 1 2 8 4 9

r4 28 56 23 12 3

r5 1 2 8 4 9

这里体会一下按行填充的意思。

>y

>rnames

>cnames

>A

>A

c1 c2

r1 1 2

r2 8 4

r3 9 28

r4 56 23

r5 12 3

可以看到这里改变了列的数量,但填充依旧是按照行按y向量内数据的先后顺序来填充的。至于byrow=FALSE情况大家可以自行体会一下。

2.2、矩阵里如何选择和查看自己想要的数据呢?

上面提到过,矩阵是二维数组,也就是说它有个隐藏的X/Y轴,不过这个是以电脑屏幕左上角为(0,0)起点的坐标。所以,如果需要查看数据则可用以下几种方法:

>A

c1 c2

r1 1 2

r2 8 4

r3 9 28

r4 56 23

r5 12 3

>A[1,2]

[1] 2

>A[4,]

c1 c2

56 23

>A[,1]

r1 r2 r3 r4 r5

1 8 9 56 12

以上代码分别实现了在矩阵A中利用A[ ]函数选择了数据框中的第一行第二列数据、第四行数据、第一列数据。可以看出取数非常方便。当然在向量中取数也是运用A[ ]函数,不过向量中取数是取出第几个的意思。

好啦,本次分享完毕,你学会了吗?学习了的小伙伴们要多练习练习哦,如果你觉得对你有用,请分享出去,让更多参加考试的朋友学会这些方法吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190125G0Z2JZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券