R语言实战学习笔记-R语言数据结构

R语言中包含五种数据结构:1.向量,2.矩阵,3.数组,4.数据框,5.列表,6.因子

1.向量:用于存储数值型、字符型、逻辑型数据的一维数组

#用c()创建一个数组,如下:
#同一个向量应只包含一种数据类型
a<-c(1,3,4,5,6)
b<-c("Hello","World","What")
c<-(TRUE,FALSE,TRUE,TRUE,FALSE)
#向量元素的获取
a[3]
a[c(1,3)]
a[2:5] #注意以下为错误示范 #内部全部转化成了字符串形式 >d<-c(12,TRUE,"Hello") >d [1]:"12" "TRUE" "Hello" #内部全部转化成逻辑值 >f<-c(12,TRUE) >f [1]: 12 1

2.矩阵:用于创建二维数组,每一个向量只包含一种数据类型。

#创建方式
a<-matrix(vector,nrow=number_of_rows,ncol=number_of_columns,byrow=logical_value,dimname=list(char_vector_rownames,char_vector_colnames))

vector:元素向量

nrow:矩阵行数

ncol:向量列数

byrow:为TRUE时,按照行填充;为FALSE时,按照列填充

dimname:行名和列名

#创建一个向量
> a<-matrix(1:20,nrow=4,ncol=5,byrow=TRUE,dimnames=list(c("第一行","第二行","第三行","第四行"),c("第一列","第二列","第三列","第四列","第五列")))
> print(a)

第一列 第二列 第三列 第四列 第五列
第一行 1 2 3 4 5
第二行 6 7 8 9 10
第三行 11 12 13 14 15
第四行 16 17 18 19 20

 向量元素的获取:

#获取第二行元素
a[2,]
#获取第二列元素
a[,2]
#获取某一行某几个元素
a[2,c(3,4)]
#获取某一列某几个元素
a[c(1,2),3]

3.数组:与矩阵类似,但是维度可以大于二

#数组创建
myarray<-array(vector,dimension,dimnames)

vector:数组元素

dimension:定义各维度下标的最大值

dimnames:各维度名称标签的列表

#创建数组
dim1<-c("A1","A2")
dim2<-c("B1","B2","B3")
dim3<-c("C1","C2","C3","C4")
z<-array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
#创建了一个2*3*4的三维数组
#数组元素获取方式可以参照矩阵

4.数据框:同一列需要是同一种数据类型,不同列数组类型可以不一样

#数据框创建方式
mydata<-data.frame(col1,col2,col3,col4)
#数据框实例
patientID<-c(1,2,3,4)
age<-c(25,23,34,32)
diabetes<-c("Type1","Type2","Type3","Type4")
status<-c("Poor","Improved","Excellent","Poor")
patientData<-data.frame(patientID,age,diabetes,status)
#输出的数据框

  patientID age diabetes status
  1 1 25 Type1 Poor
  2 2 23 Type2 Improved
  3 3 34 Type3 Excellent
  4 4 32 Type4 Poor

  #数据框元素的获取

  #获取第一列和第二列

  patientData[1:2]

  #获取特定变量

  patientData$agee

5.列表:特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可 以是任意对象,不同元素不必是同一类型。

#创建列表
rec <- list(name="李明", age=30, scores=c(85, 76, 90))

6.因子:类别(名义型)变量和有序变量(有序型)变量在R中统称因子

#名义型
diatebes<-("Type1","Type2","Type3","Type1")
diatebes<-factor(diabetes)
#存储为(1,2,3,1),它是无序的
#有序型
status<-c("Poor","Improved","Excellent","Poor")
status<factor(status,ordered=TRUE)
#存储为(1,2,3,1)

以上为R中常用的数据结构,后续会在具体应用中灵活运用。

 

posted @ 2018-04-14 16:46  千寻梦  阅读(634)  评论(0编辑  收藏  举报