◮ R语言笔记(一): 向量及向量的基本操作

版权声明:转载请注明出处 https://blog.csdn.net/qq_42292831/article/details/83001472

R语言简介:

R语言是一种统计绘图语言,也指实现该语言的软件;
R语言是从S语言演变而来,S语言在20世纪70年代诞生于贝尔实验室,其是用来进行数据探索/统计分析/作图的解释性语言;
R语言是在1995年由新西兰某大学的学生基于S语言的源代码编写的一套能执行S语言的软件,就是R软件,命名统称为R语言;
 

****************************************************************************************************************************************

一:向量

1:什么是向量?

    这里可以将向量理解为C语言中的数组,也可以将其理解为数学中的数列,都能够很好地理解;

    *但是如果使用R语言中的判断函数is.array( )来判断使用x=c(1,1,1,1)输入放入变量x,会提示不是数组,因为这里的判断默认      二维数组才显示是数组。

    *直接输入二维数组的话就需要在输入的时候添加维度信息:

> x = c(1,2,3,4,5,6);dim(x)<-c(2,3)
> x
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

    R语言中的许多操作都是基于向量进行的;

2:向量的几种常见的表示与赋值:

     示例:> x = c(1:10)    #将1~10十个数赋值给x

                > x <- c(1:10)    #将1~10十个数赋值给x (使用箭头也是可以的)

                > x2 = c(4:1, 2:5)    # 输出结果 [1] 4 3 2 1 2 3 4 5

                > x    #直接输出x的值

                > x = c(1,2,3,3,3,4,5,6)

                > x [3]    #输出x的第三个数据,3是索引值

                >length(x)    #输出x的长度

                > x = scan()     #从键盘输入数据,一行输入一个,回车继续输入,两次回车停止输入

> x = scan()
1: 1
2: 2
3: 23
4: 
Read 3 items

3:产生26个字母的向量:

> letters[1:30]
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" NA  NA  NA 
[30] NA 

4:seq()函数产生向量:

  *seq: sequence 序列、按顺序排好

> x = seq(1,50,by=2)
> x
 [1]  1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
[25] 49

> x = seq(1,50)
> x
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
[25] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
[49] 49 50

二:对向量的基本操作(对数据的处理)

1:数理统计部分概念

     *具体不理解的名词可自行查询资料

      均值:mean()

      和:sum()

      连乘:prod()

      中位数:median()

      最大值:max()

      最小值:min()

      极差:max()-min()

      方差:var()

      标准差:sd()

      标准误差:var()/sqrt(length())

      变异系数:sd/mean()**100

      偏度:skewness()

      峰度:kurtosis()

      五数总括:fivenum()

     -->>>★★部分概念的初步解释:

            1:峰度(kurtosis)
                峰度(peakedness;kurtosis)又称峰态系数。
                表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度。
                样本的峰度是和正态分布相比较而言统计量,如果峰度大于三,峰的形状比较尖,比正态分布峰要陡峭。
                反之亦然。
            2:偏度(skewness)
                偏度(skewness)也称为偏态、偏态系数,是统计数据分布偏斜方向和程度的度量,
                是统计数据分布非对称程度的数字特征。数据呈现左偏的状态,偏度为负值,右偏的话偏度为正值。
            3:变异系数:
                比较两组数据的离散程度,因为使用标准差比较离散程度的时候可能出现数据量纲不同的情况,
                所以定义了变异系数,变异系数是标准差与平均值的比值。
            4:五数总括:
                使用具有特征的数据对整体数据进行概括:最小值、下四分位数、中位数、上四分位数、最大值
           ★5:标准差与标准误差
                标准差与标准误差的意义、作用和使用范围均不同。
                标准差(亦称单数标准差)一般用SD(Standard Deviation)表示,
                是表示个体间变异大小的指标,反映了整个样本对样本平均数的离散程度,是数据精密度的衡量指标;
                而标准误差一般用SE(Standard error)表示,
                反映样本平均数对总体平均数的变异程度,从而反映抽样误差的大小,是量度结果精密度的指标。

2:其他基本操作

      summary()    #求值(最小值、下四分位数,中位数、均值、上四分位数、最大值)

      sort()    #排序(从小到大)

      rev(sort())    #reverse倒置,即按照由大到小排序

      which()    #定位查询功能 --->>> 下面附上部分which用法代码:

> a = c(1,2,3,4,5,6,7,8,9,11,10,2,2,2,2)

> which.max(a)
[1] 10

> a[which.max(a)]
[1] 11

> which(a==2)
[1] 2 12 13 14 15

> a[which(a==2)]
[1] 2 2 2 2 2

> which(a<2)
[1] 1

三:导入第三方程序包与第三方程序包的使用

*这里之所以提到第三方程序包的使用问题,是因为上面的求偏度和峰度需要使用第三方的R包,软件本身并没有这个工能;

1: 菜单栏->程序包->安装程序包->会提示选择不同的服务器(与下载速度有关)

2:   选择需要的包下载(如果该包需要用到其他的包,这里会自动一起下载所有相关的包)

上面求偏度和峰度使用的R包(这里给出一个方便使用的,实现该功能的包不止一个):moments

下载完包后仍不能使用该函数,需要加载刚刚安装的包,加载的方法有两种:

         1:library(包名)

         2:菜单栏->程序包->加载程序包->选择需要使用的包即可

四:附上相关实践代码

> Student = c(90,78.8,68.8,78.0,70.4,80.5,80.5,69.7,71.2,73.5,
+ 79.5,75.6,75.0,78.8,72.0,72.0,72.0,74.3,71.2,72.0,
+ 75.0,73.5,78.8,74.3,75.8,65.0,74.3,71.2,69.7,68.0
+ ,73.5,75.0,72.0,64.3,75.8,80.3,69.7,74.3,73.5,73.5)

> mean(Student)    #计算均值
[1] 74.0325

> var(Student)    #计算方差
[1] 22.03199

> sd(Student)    #计算标准差
[1] 4.693825

> median(Student)	#计算中位数
[1] 73.5

> max(Student)-min(Student)	#计算极差
[1] 25.7

> var(Student)/sqrt(length(Student))	#计算标准误差
[1] 3.483564

> sd(Student)/mean(Student)**100 	#计算变异系数
[1] 5.361488e-187

> skewness(Student)	    #计算偏度
[1] 0.7539625

> kurtosis(Student)    #计算峰度
[1] 4.983252

> fivenum(Student)     #计算五数总括
[1] 64.3 71.2 73.5 75.8 90.0

****************************************************************************************************************************************

             最快的脚步不是跨越,而是继续,最慢的步伐不是小步,而是徘徊。

****************************************************************************************************************************************

猜你喜欢

转载自blog.csdn.net/qq_42292831/article/details/83001472