R for dummies 算数入门

数值、无穷值与缺失值

基础运算的操作
+(加)- (减)* (乘)/ (除)
^ (幂运算)%%(求余数) %/%(整除)

运算符顺序
(1)幂
(2)先乘除后加减

常用的数学函数
abs( )
log(x,base=y)
exp(x)
sqrt(x)
factorial(x) 返回x的阶乘
choose(x,y) 返回从x个可选元素中选择y个可能组合

科学计数法

>1000^2
[1]1e+06
>4.12e-2
[1]0.0412

取整函数
round(number,digits=)可通过digits来设置保留小数位数

>round(123.456,digits=2)[1]123.46

signif(number,digits=)可通过digits确定有效位数
>signif(123.456,digits=4) [1] 123.5
floor(number)返回小于num的最大整数
ceiling(number)返回大于num的最小整数
trunc(number)直接截取整数部分

>floor(-123.45)
[1] -124
>ceiling(-123.45)
[1] -123
>trunc(123.45)
[1] 123

三角函数
cos、sin、tan

无穷值与缺失值

Inf:无穷大
-Inf:无穷小
无穷值参与任何数值计算均返回Inf/-Inf;用 is.infinite()函数判断是否为无穷值,
TRUE:是无穷值,FALSE:不是无穷值。相反,is.finite()判断是否为有限值
NA:缺失值;用is.na()判断
NaN:Not a Number(非数)
NaN参与数值运算返回NaN。用is.nan()或is.na()判断

使用向量组织属性

向量的结构

使用str()函数(structure)来查看向量的结构。
在这里插入图片描述
首先num告诉我们向量是个numeric类型;
然后[1:6]是R给出向量的维度和长度,可以得知该向量是一个维度,其中包含6个元素;
最后R会打印出向量的前几个元素值。

使用length()函数来查看向量的长度
在这里插入图片描述
向量的类型

数值型向量:包含各种类型的数字
字符型向量:包含整数值
逻辑型向量:包含逻辑值(TRUE/FALSE)
整数型向量:包含整形
日期时间向量:包含不同格式的日期和时间
因子:分类时会用到它

检测向量类型时用 is.class(vector)
在这里插入图片描述
强制R存储整形,就在数字后面加一个L

创建向量Seq
seq(from= ,to= , by= )

#seq(1,5)相当于1:5
#seq(from=1,to=5,by=0.5)相当于python中的range(1,6,steps=0.5)
by相当于指定了一个步长

seq(from, to, length.out=)
length.out参数可以指定序列的长度
在这里插入图片描述
向量连接
用c()函数连接两个或多个向量即可。

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

重复向量

rep(vector,times= ,each= ,length.out=)
times参数指定向量重复的次数;
each参数指定向量中每个元素重复的次数
length.out参数指定向量循环重复知道长度为参数值

在这里插入图片描述

向量值的存取

索引
R向量索引从1开始。格式为vector_name[i] i从1开始算起

>num<-c(1,2,5,6,0,4)
>num[4]
[1] 6

可以用同时索引多个值,格式为vector_name[c(index1,index2...)]

>num[c(1,3,5)]
[1] 1 5 0

索引值为负数时代表去掉某个元素,如果要得到向量中除了第三个值的其他元素。
>num[-3]
去掉前20个数
>num[-(1:20)]

修改向量的值(方法与python中list相似)
将第三次比赛的分数修改为8

>score<-c(4,2,6,7,5,3)
>score[3]<-8

将第1次和第4次比赛的分数修改为10
>score[c(1,4)]<-10
备份向量
>score.copy<-score

使用逻辑向量

值的比较

x==y
x!=y
x>y x>=y x<y x<=y
xIy 或
x&y 且
!x 非
xor(x,y)

找出Granny得分高于5分的比赛
which(condition)函数返回符合条件的索引值,自带清除NA功能
直接用向量+运算符会返回逻辑向量,比较时会受到NA影响。
在这里插入图片描述
逻辑表达式组合
尝试找出Grammy得分最少和得分最多的场次:

Grammy_max<- Granny == max(Granny)
Grammy_max<- Granny == min(Granny)
#事实上,使用which.max()和which.min()函数更方便
which.max(Granny)
which.min(Granny)

去除向量中的NA值
vector[!is.na(vector)]

逻辑函数

any(vector)只要向量中有一个TRUE就会返回TRUE,否则返回FALSE
all(vector)向量均为TRUE才会返回TRUE,否则返回FALSE

增强数学运算

sum() 返回向量所有元素和
prod()返回向量所有元素的城乘积
min()返回向量中的最小值
max()返回向量中的最大值
cumsum()返回向量中所有元素的累积和
cumprod()返回向量中所有元素的累积乘积
cummax()
cummin()
diff()返回向量中每个元素与下一个元素之差

在这里插入图片描述
指定na.rm参数来省略缺失值。
这个参数适用于sum()、prod()、max()、min()函数中。
累积函数和diff()函数不包含去掉缺失值的参数。

>x<-c(3,6,2,NA,1)
>sum(x)
[1] NA
>sum(x,na.rm=TRUE)
[1] 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值