R 数据类型与数据结构
数据类型和其他函数
在R语言之中,与其他的语言进行相比,其中主要分为了数值(numeric)、字符(character)、日期(date)、布尔(logical)四种等数据类型,我们可以通过不同的函数对直进行判断等。
is.type(values)
is.numeric (数字型)
is.numeric通常的使用语法为is.numeric(values)
,即翻译做(values)是不是为numeric
即数值型,通常会返回布尔型的数据分别为 true and false,如:
1 | > one <- 10 |
1 | > two <- "hello" |
is.character (字符串)
在这里我们需要注意的是,在赋值给two的字符串数据是需要使用""
的,因为他是字符串类型的数据,而不是数值型。
1 | is.character(two) |
is.logical (布尔型)
由于R语言是严格区分大小写的,如你赋值给t是true,则r会报错,因为他判定这是一个字符串类型,但是你如果是大些的TRUE,他则会判断这是一个布尔型数据如:
1 | > t <- true |
class(values)
class(values)与is.type(values)的不同之处在于,class(values)则是告诉你该直的数据的类型信息,通过使用class可以查看特定直的数据类型,如:
Date
1 | > class(date) |
ID | DA | FA |
---|---|---|
%H | 小时 | 基础格式 |
%M | 分钟 | |
%S | 秒时 | |
%B | 月份 | |
%A | 星期 | |
%Y | 年份 | |
%p | 上午和下午 | |
%x | 直接显示日期 | 完整格式 |
%c | 直接显示日期与时间 | |
%Y | 完整年份 |
as.integer()
character
在r语言中,时间类型是一个极为特别的,我们可以通过class告诉我们某个直的数据类型,但是如果要输出,我们可以使用r语言中的as.integer
函数进行输出,其中的基本格式为
as.integer(strftime(values,’date参数’)
1 | > date <- as.Date("2021-1-28") |
我们可以根据对照上访的date数据表中的各个参数进行输出,但需要注意的是本书所提供的并不是date的全部参数,而是较为主要和常用的几个参数,读者可自行前往了解即可。
mode(values)
mode与class类似,也是直接告诉我们当前values的类型,通过使用mode\class我们都可以直接查询该values的数据类型,如本次我们以创建的向量为例:
1 | > mode(a) |
而向量内的数据为1 2 3
,所以被输出为数字型。
数据结构
在目前流行的语言之中,日R语言的殊绝结构可以说是相当的丰富且不同,主要分为向量(vector)、列表(list)、因子(factor)、矩阵(matrix)、数组(array)、数据框(data.frame)等六种类型。
向量
向量主要用于存储数值,字符型或逻辑数据的一维数组,执行组合功能的函数c()
可以用于创建向量,单个向量中的数据类型是固定的,比如数值型向量中的元素就必须为向量。向量是组成R语言的一种最为常见的数据结构,分为三种类型分别为数值型、字符型、逻辑型
等。
在R语言之中,创建向量的方式有很多函数都可以进行创建,分别为c()、seq()、rep()
等函数可用于进行创建,本次我们将会使用c()
进行演示创建向量。
c()
在R语言之中,我们可以使用c()
创建一个向量
创建
1 | > c(1,2,3) |
输出存储于直中的向量
1 | > a[a>0] |
索引向量
在R语言之中,我们可以索引向量,这比较类似于Python之中的字典,但又与python中的字典不同:
1 | > c <- c(one=1.2,two=2.1,three=10,1) |
向量的长度 (length)
在r语言之中,为向量提供了一个长度查询与输出的一个函数,为length()
,这个函数是单独为向量所提供长度查询的,结果如下:
1 | > length(c) |
向量的运算符
通常,在基本上所有的语言之中,运算符都会被通用,就是说基本上都适用,所以我们也可以进行向量和向量之间运算,如:
1 | > a = c(1,3,4) |