R语言第一周学习

R语言第一周学习

  • R语言与其他语言不同的地方
  • 常用命令
  • 变量
  • TRUE和FALSE.
  • 日期和时间
  • NA和NULL
  • 查看数据类型
  • 创建向量
  • 访问向量
  • 获得向量长度
  • 扩展向量
  • which()检索
  • subset()检索
  • match函数
  • sort()升序降序
  • 翻转向量rev()
  • 等差序列
  • 重复序列
  • 判断向量相等 ==
  • 判断向量是否完全相同 identical()
  • 判断某个值是否包含在指定向量中 %in%
  • 集合运算

R语言与其他语言不同的地方:
1、输出语句使用:print这个和python相似;
2、语句结尾不需要;,这个也和python相似
3、向量的数数是从1开始的,这个可能也是和语言适用的范围决定的,大量用于统计批量计算,从1开始比较方便吧。
3、#表示单行注释
4、ctrl + L 清空当前命令行窗口
5、TAB自动补全

常用命令
输出语句:print()
example(函数名)可以获得示例代码。
source(“C:\Users\cuihua\Documents\1-1.R”)调用已经写好的R脚本
install.packages(“包名”)安装包
upgrade.packages(“包名”)更新包
library(“包名”)加载包
getwd()查看当前工作路径
setwd(“路径名”)改变工作目录

变量
R中的变量由**字母、数字、下划线(_)、实心句点(.)**组成,但不允许变量名中出现连字符(-),并且变量名必须以字母或实心句点开始。变量名以实心句点开始时,紧随其后的字符不能是数字。

TRUE和FALSE
TRUE和FALSE是R语言的保留字,而T和F是全局变量,但这两个变量是可以被重新赋值的。

日期和时间
as.Date():将字符串转换为日期型,example:
as.Date(“2019/08/14”,"%m/%d/%Y")
as.POSIXlt,可以将字符串形式的日期时间值转换为时间变量。

as.POSIXlt("2021-01-08 19:33:30",tz="","%Y-%m-%d %H:%M:%S")
[1] "2021-01-08 19:33:30 CST"

“2019-08-14 09:35:40”,包含日期和时间,日期和时间以空格分隔;
tz="",代表时区的设置,""代表默认时区,这里默认为CST,即中国标准时间。
"%Y-%m-%d %H:%M:%S"为日期时间格式,日期和时间同样用空格分割,时间%H代表时,%M(注意大写)代表分,%S代表秒。

NA和NULL
NA(Not available),表示无数据值。
is.na(变量)可以检测某个变量是否为NA。
NULL表示变量未初始化。
is.null(变量)可以检测某个变量是否初始化了。

查看数据类型
mode()函数只查看数据的大类,class()函数查看数据的类,typeof()函数则更加细化,三者都可以查看数据的类,根据不同需求使用不同函数。

创建向量
向量中的各元素类型是相同的,如果在用c()创建函数时,给定的参数的元素类型不同,那么在生成向量前,自动转换为相同的数据类型。

想给向量中的数据命名:

>x <- c(80,90,70)
>names(x) <- c("语文","数学","英语")
>x
语文 数学 英语
 80  90   70

访问向量
索引方式访问:

在这里插入图片描述
如果索引(或下标)为负数,则返回该位置以外的所有元素。
在这里插入图片描述
一次访问多个元素

在这里插入图片描述在这里插入图片描述
按名称访问元素
在这里插入图片描述
也可以使用names()函数访问某个位置上的元素的名称
在这里插入图片描述
获得向量长度

  • length(x)
  • NROW()

扩展向量
通过c(x,c(4,5,6))将向量x和(4,5,6)合并为一个向量,实现了向量的扩充。
在这里插入图片描述which()检索元素在向量中的位置

> x<-c(90,70,80,75,65,50,75)

> which(x==70)

[1] 2

> which(x==75)

[1] 4 7

获得最大值或最小值元素所在位置:

> x<-c(90,70,80,75,65,50,75)

> which.max(x)

[1] 1

> which.min(x)

[1] 6

使用subset()函数来检索

> x<-c(90,70,80,75,65,50,75)

> subset(x, x>60 & x<80) 

[1] 70 75 65 75

match函数
使用match函数,可以判断向量中各元素是否与另外一个向量中的元素相等。

> x<-c(90,70,80,75,65,50,75)

> match(x,70)

[1] NA  1 NA NA NA NA NA

> match(x,c(70,75))

[1] NA  1 NA  2 NA NA  2

sort()升序降序
sort()函数对向量x中的元素按照升序排序。

> x<-c(9,7,10,6,8,5,12)

> sort(x)

[1]  5  6  7  8  9 10 12

如果要按照降序排序,我们可以在sort函数中,增加一个参数decreasing=TRUE(默认为FALSE)

> sort(x,decreasing=TRUE)

[1] 12 10  9  8  7  6  5

默认是没有省缺值的,如果我们在sort函数中增加一个参数na.last=TRUE(默认值为FALSE),这个缺省值会排列到序列的最末尾。

> x<-c(9,7,10,6,8,NA,5,12)

> sort(x)

[1]  5  6  7  8  9 10 12

> sort(x,na.last=TRUE)

[1]  5  6  7  8  9 10 12 NA

翻转向量rev()
rev()函数的作用是将向量翻转。

> rev(x)

[1] 12  5 NA  8  6 10  7  9

等差序列
指定起始和结束值

> seq(1,10)

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

指定步长

> seq(1,10,by=2)

[1] 1 3 5 7 9

指定元素个数

> seq(1,10,length.out=5)

[1]  1.00  3.25  5.50  7.75 10.00

seq()函数的常用参数
seq()函数的常用参数前面的示例中,我们省略了from或to,

> seq(from=1,to=10,length.out=5)

[1]  1.00  3.25  5.50  7.75 10.00

重复序列
如果要将某一个向量重复多次,可以使用rep()函数。

> x<-c(1,2)

> rep(x,5)

 [1] 1 2 1 2 1 2 1 2 1 2

我们让向量的每个元素分别重复多次,我们可以使用each参数

> rep(x,each=5)

 [1] 1 1 1 1 1 2 2 2 2 2

times重复次数

> rep(x,times=2,each=5)

 [1] 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2

rep()函数的常用参数有
在这里插入图片描述
判断向量相等 ==

> c(80,90,60) == c(80,70,60)
[1] TRUE  FALSE  TRUE

判断向量是否完全相同 identical()

>identical(c(80,90,60),c(80,90,60))
[1]  TRUE
>identical(c(80,90,60),c(80,70,60))
[1]  FALSE

判断某个值是否包含在指定向量中 %in%
在这里插入图片描述
集合运算
(1)求并集union()
在这里插入图片描述
(2)求交集intersect()
在这里插入图片描述
(3)求差集 setdiff()

在这里插入图片描述
列表
创建列表

>x<-list (name="王一",age=23)
>x
$name
[1] "王一"

$age
[1] 23

从上面代码,可以看到列表中有两项内容,name和age,name的值为“王一”,age的值为23,其中name和age我们称之为“键”,“王一”和23称之为值,即键name的值为“王一”,键age的值为23。

列表内容访问
方式一:采用索引方式(下标方式),如:
在这里插入图片描述
方式二:采用键名访问键值,如:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值