R语言-向量

2019年全国数学建模竞赛参赛主体为2017级和2016级本科生,打算参加全国数学建模竞赛的同学要开始准备了.如果遇到数据分析的题目,R是再合适不过的软件了.为了便于大家自学,我将简单介绍R语言的基础部分.有了这些基础,结合统计模型学习R语言就很容易了.首先本节介绍R最重要的数据结构---向量.

1. 常量

常量分为逻辑型、数值型、字符型三种。逻辑真值为TRUE,逻辑假值为FALSE。

>a<-TRUE
>a
[1] TRUE

字符型一般用双引号或者单引号包围。

> b<-"Weight"
> b
[1] "Weight"

数值型常量我们不关心是否为整型、单精度、双精度等。

> c<-9.3
> c
[1] 9.3
> d<-4
> d
[1] 4

2. 向量的建立与赋值

在R语言中,向量的建立和赋值比较灵活,且方法很多,常见的方法就是用函数c()建立向量。

> x<-c(5,6,3,2,5,6)
> x
[1] 5 6 3 2 5 6
> y<-c(1,2,3,x)
> y
[1] 1 2 3 5 6 3 2 5 6

此外字符":"和函数seq()以及rep()可以用于产生规则的序列.

> x1<-1:10#产生1~10的数
> x1
 [1]  1  2  3  4  5  6  7  8  9 10
> x2<-120:135#产生120~135的数
> x2
[1] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

函数seq()常用格式为seq(from,to,by=)or seq(from,to,length.out=).

> x3<-seq(2,10)#默认步长为1
> x3
[1]  2  3  4  5  6  7  8  9 10
> x4<-seq(2,20,by=2)#步长为2
> x4
 [1]  2  4  6  8 10 12 14 16 18 20
> x5<-seq(2,20,by=4)#步长为4
> x5
[1]  2  6 10 14 18
> x6<-seq(1,2,by=0.1)#步长为0.1
> x6
 [1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
> x7<-seq(0,1,length.out=11)#起点为0,终点为1,间隔为相同的11个数据
> x7
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

函数req()常用格式为req(x,times,length.out,each),其中x表示向量;times表示向量x重复的次数;lenght.out表示生成向量的长度;each表示向量x中每个元素重复的次数.若each和times、length.out同时出现时,首先启用参数each,然后再启用另外两个参数.

> rep(1:4,times=3)
 [1] 1 2 3 4 1 2 3 4 1 2 3 4
> rep(3:7,times=3,each=2)
 [1] 3 3 4 4 5 5 6 6 7 7 3 3 4 4 5 5 6 6 7 7 3 3 4 4 5 5 6 6 7 7
 > rep(3:7,times=3,each=2,length.out=15)
 [1] 3 3 4 4 5 5 6 6 7 7 3 3 4 4 5

3. 向量的运算

向量和向量之间可以用加"+",减"-",乘"*",除"/"四则运算。向量本身可以用"^"作幂运算.

> x1<-c(1,2,3,5,6)
> x2<-c(3,4,5,7,8)
> x1+x2
[1]  4  6  8 12 14
> x1*x2
[1]  3  8 15 35 48
> x1/x2
[1] 0.3333333 0.5000000 0.6000000 0.7142857 0.7500000
> x1-x2
[1] -2 -2 -2 -2 -2
> x1^2
[1]  1  4  9 25 36
> x1^3
[1]   1   8  27 125 216

4. 数据的读取

假设某个班的成绩为

77 71 81 84 85 89 63 92 87 89 97 77 64 76 72 86 60 73 84 85 89 97 80 77 67 81 79 83 105 79

可以用scan()把上面数据读为向量数据.首先copy上面数据,然后执行下面语句.

> x<-scan("clipboard")
Read 30 items
> x
 [1]  77  71  81  84  85  89  63  92  87  89  97  77  64  76  72  86  60  73
[19]  84  85  89  97  80  77  67  81  79  83 105  79

5.向量的访问

> x<-c(2,4,5,9,10)
> x
[1]  2  4  5  9 10
> x[2]#取第2分量的数值
[1] 4
> x[2:4]
[1] 4 5 9
> x[c(1,3)]#取第1,3分量的向量
[1] 2 5
> x[-c(1,3)]#去掉第1,3分量后的向量
[1]  4  9 10
> x>4
[1] FALSE FALSE  TRUE  TRUE  TRUE
> x[x>4]#取大于4的数组成的向量
[1]  5  9 10

6.向量的函数

> x<-c(3,5,1,7,2,4,9,0,2,1,5,6,3,7,4)
> mean(x)#计算x的均值
[1] 3.933333
> sd(x)#计算x的标准差
[1] 2.57645
> var(x)#计算x的方差
[1] 6.638095
> min(x)#计算x的最小值
[1] 0
> max(x)#计算x的最大值
[1] 9
> length(x)#计算x的长度
[1] 15

你可能感兴趣的:(R语言-向量)