R语言基本数据类型和一些一本函数


单个向量中的数据类型要求必须是相同的类型,同一个向量当中无法混杂不同类型的数据;

向量赋值

1)左键头赋值

> x <- c(1,3,5,7,9)

> x

[1] 1 3 5 7 9

2assign函数对向量进行赋值

例子: 

> assign("w",c(1,3,5,7,9))

> w

[1] 1 3 5 7 9

 

3)还可以用右键头进行赋值:

例子:

> c(1,3,5,7,9) -> y

> y

[1] 1 3 5 7 9

 

 

向量

向量长度:R语言中向量的个数称为向量的长度,个数为1的向量就是常数;

函数length可以返回向量的长度

 

向量间的运算

1)乘法运算

2)除法运算

3)取余

4)取整

 

> x <- c(1,3,5,7,9)

> c(1,3,5,7,9)-> y

> x*y

[1]  1  9 25 49 81

> x/y

[1] 1 1 1 1 1

> x^2

[1]  1  9 25 49 81

> y^x

[1]         1        27      3125    823543 387420489

> 5%/%3

[1] 1

> 5%%3

[1] 2

mode返回数据的类型

min返回数据的最小值

max返回数据的最大值

rang(x):表示x的变化范围从19

Which.minwhich.max返回在第几个分量上获得最小最大的值

> numbers <- c(1,3,5,6,9)

#在哪个位置上取得最小值

> which.min(numbers)

[1] 1

#在哪个位置上取得最大值

> which.max(numbers)

[1] 5

 

R产生正则序列

最简单的使用冒号产生有规律的序列:

 

(加上括号就可以直接被输出)

1

> (t<-1:10) 

[1]  1  2  3  4  5  6  7  8  9 10

 

> t <- 1:10

> t 

[1]  1  2  3  4  5  6  7  8  9 10

 

也可以倒着输出

> (t <- 10 :1)

 [1] 10  9  8  7  6  5  4  3  2  1

 

在表达式的运算中,”:”即冒号的表达式是最高的;

> 2*1:5

[1]  2  4  6  8 10

 

函数SEQsequence)序列:序列分为三个部分

1)从哪开始

2)到哪截止

3)步长

例:序列从1开始,到10结束,步长为2

> seq(1,10,2)

[1] 1 3 5 7 9

 

如果不指定步长,则使用默认步长为1

> seq(1,10) 

[1]  1  2  3  4  5  6  7  8  9 10

 

还可以让步长为负数,可以理解为倒着走(已步长为公差的递减序列)

> seq(10,1) 

[1] 10  9  8  7  6  5  4  3  2  1

 

> seq(10,1,-2)

[1] 10  8  6  4  2

 

注意:步长可以用by也可以不写by

有时情况比较特殊,我们需要关心数列的长度,这时:

例:从1开始,步长为2,输出10个数

> seq(1,by=2,length=10)

 [1]  1  3  5  7  9 11 13 15 17 19

 

用各种复杂的方式来重复一个对象:rep函数

一般来说rep函数用两个参数就够了,前面一个参数表示重复的对象,后面一个参数表示要重复的次数;

例:

> rep(1:3)

[1] 1 2 3

 

把向量(13)重复4

> rep(c(1,3),4)

[1] 1 3 1 3 1 3 1 3

 

如果加each来修饰:先将1重复4遍,再将3重复4

> rep(c(1,3),each=4)

[1] 1 1 1 1 3 3 3 3

 

rep函数的重叠使用:

rep(2,3):2重复三次,后面在把每个对象都做两次重复,一共是123这三个对象这样来做

> rep(1:3,rep(2,3))

[1] 1 1 2 2 3 3

> rep(2,3)

[1] 2 2 2

 

 

向量的运算会对这个向量的每一个元素都会做同样的运算,那出现在同一个表达式的运算,最好是同样的长度,如果长度不一样,表达式中短的向量会被循环使用。所以表达式的值会和最长的向量等长的向量 ;R语言有许多内置的函数,可以对向量进行运算,可以有效的提高工作效率,

 

 

例如:mean()函数求向量的均值;

> t <- c(2,543,3,5,1)

> mean(t)

[1] 110.8

sum()求和;

> sum(t)

[1] 554

 

median()求中位数;

> median(t)

[1] 3

 

求方差(距离均值的平均距离)var();

> var(t)

[1] 58376.2

 

R语言默认小数点后面保留六位小数;标准差sd();

> sd(t)

[1] 241.6117

 

排序sort() --- 从小到大排序;

> t <- c(2,543,3,5,1)

> sort(t)

[1]   1   2   3   5 543

 

rev()  reverse)将结果反向输出;

> t <- c(2,543,3,5,1)

> rev(t)

[1]   1   5   3 543   2

 

求向量的秩:rank();

例:

主要是按照它的顺序给出它的位置

> t <- c(2,543,3,5,1)

> rank(t)

[1] 2 5 3 4 1

 

prod这个方法来自production表示求积;可以把向量里面所有的数值都把他乘在一起

> t <- c(2,543,3,5,1)

> prod(t)

[1] 16290


除此之外还可以用append函数为原有的向量添加元素

> append(t,10:15) 

[1]   2 543   3   5   1  10  11  12  13  14  15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值