R语言中的几种数据结构

Python019

R语言中的几种数据结构,第1张

R语言中的几种数据结构

一 R中对象的5种基本类型

字符(character)

整数 (integer)

复数(complex)

逻辑(logical:True/False)

数值(numeric:real numbers)

查看对象类型的命令:class(x)

二 R语言中有如下几种数据结构:

向量 vector() 组内元素必须类型一致,否则将会被强制转换。

(1) 创建向量的三种方式:

<span style="font-size:18px">x <- vector("numeric", length = 10)

x <- 1:4

x <- c("a",12,TRUE)</span>

(2) 强制转换的几个函数:

as.numeric(x) / as.character(x) / as.logical(x)

矩阵 matrix()一列一列的填充元素

按行合并:rbind()按列合并:cbind()

数组 array() 可以有多个维度

列表 list() 可以包含不同类型的元素

因子 factor()

(1) 分类数据/有序 vs. 无序

(2) 整数向量+标签(label)(优于整数向量)

Male/Female vs. 1/2

常用于lm(),glm()

(3) levels设置基线水平

table() 查看因子信息unclass() 去除因子属性日期

x <- Sys.Date() 得到系统当前日期

julian(x) x距离1970-01-01的天数

时间 POSIXct / POSIXlt

POSIXct:整数,常用于存入数据框 as.POSIXct()

POSIXlt:列表,还包含星期、年月日等信息。as.POSIXlt()

strptime(x, format = "...") 将一般格式转化为时间格式

常用R数据类型是

向量

列表

矩阵

数组

因子

数据框

向量

当要创建具有多个元素的向量时,应该使用c()函数,表示将元素组合成一个向量。

>y<-c(12,13,14,15) >print(y)[1] 12 13 14 15

列表

列表是一个R对象,它可以包含许多不同类型的元素,如向量,函数,甚至其中的另一个列表。

>t<-list(a=c(1,2,3),b=c("yes","no"),c=c(12,13,14)) >print(t)$a[1] 1 2 3$b[1] "yes" "no" $c[1] 12 13 14

矩阵

矩阵是二维矩形数据集。 它可以使用向量输入到矩阵函数来创建。

>u<-matrix(c(2:10),ncol = 2) >print(u) [,1] [,2][1,] 2 7[2,] 3 8[3,] 4 9[4,] 5 10[5,] 6 2 数组

矩阵只能有两个维度,数组可以是任意数量的维数。数组函数采用一个dim属性,创建所需的维数。

>h<-array(c(3:8),dim = c(3,3,2)) >h, , 1 [,1] [,2] [,3][1,] 3 6 3[2,] 4 7 4[3,] 5 8 5, , 2 [,1] [,2] [,3][1,] 6 3 6[2,] 7 4 7[3,] 8 5 8 因子

因子是使用向量创建的R对象。 它将向量存储在向量中的元素的不同值作为标签。标签始终是字符,无论它是输入向量中是数字,还是字符或布尔等。它们在统计建模中很有用。

因子使用factor()函数创建。nlevels函数给出了级别的计数。

>factor<-c(1,2,3,4) >class(factor) [1] "numeric" >factor1<-as.factor(factor) >class(factor) [1] "numeric" >class(factor1) [1] "factor" 数据框

数据帧是表格数据对象。与数据帧中的矩阵不同,每列可以包含不同的数据模式。 第一列是数字,而第二列可以是字符,第三列可以是逻辑类型。它是一个长度相等的向量列表。

数据帧使用data.frame()函数创建。

>g<-data.frame(a=c(1,2,3),b=c("yes","no","yes"),c=c("male","female","male")) >g a b c1 1 yes male2 2 no female3 3 yes male