R语言入门之数据类型

时间:2022-07-22
本文章向大家介绍R语言入门之数据类型,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

R语言常见的数据类型

1. 向量(Vectors)

(1)向量本质上是由各种元素(字符串、数字等)组成的一维数据结构

a <- c(1,2,5.3,6,-2,4) # 数值型向量
b <- c("one","two","three") # 字符型向量
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #逻辑型向量

(2)提取向量的元素

a[c(2,4)] # 获取第二个和第四个元素

2. 矩阵(Matrices)

(1)矩阵本质上是一个二维数据结构,要求矩阵的每一列长度相同,同时元素类型要求一致,比如都是数值型元素。

mymatrix <- matrix(vector, nrow=r, ncol=c, byrow=FALSE,dimnames=list(char_vector_rownames, char_vector_colnames))

这里byrow=TRUE指数据先按行排列,byrow=FALSE 是指数据按列排列 (默认值). dimnames 可以给行和列提供相应的标签。

#实例
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,dimnames=list(rnames, cnames))

(2)对矩阵里的元素进行索引

x[,4] # 获取矩阵的第四列
x[3,] # 获取矩阵的第三行
x[2:4,1:3] # 获取矩阵1,2,3列里的第2,3,4行元素

注意对于二维元素的索引,逗号前表示行,后表示列。如果想取整行或整列,只需要在逗号之前或之后写上相应的标签或这序数。

3. 数组(Arrays)

与矩阵不同的是,数组的维度可以大于2,其余性质和矩阵类似,这里就不再赘述了。

4. 数据框(Data Frames)

(1)数据框和矩阵最大的不同是数据框的不同列可以有不同类型的元素,即可以有的列是数值型,有的列是字符型等。

d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # 设置变量名

(2)数据框的索引方式多种多样,可以用行或者列的序数去进行,也可以直接用列名进行索引,还可以用data$colnames这样的方式进行索引。

myframe[3:5] # 提取数据框的第3,4,5列
myframe[c("ID","Age")] # 提取列名为‘ID’和‘Age'的两列数据
myframe$X1 # 提取变量名为’X1‘的那一列

5. 列表(Lists)

(1)列表是可以把各种数据类型整合在一起的数据类型,一个列表里可以有很多其它类型数据,不同数据类型里也可以有其它数据。

# 建立一个包含四个元素的列表(字符串、数值型向量、矩阵和标量)
w <- list(name="Fred", mynumbers=a, mymatrix=mymatrix, age=5.3)

(2)对列表进行索引时需要使用[[]]

mylist[[2]] # 提取列表里的第二个元素
mylist[["mynumbers"]] # 利用元素名字提取列表里的元素

好了,今天就分享到这里!下期会讲述因子(factor)这个数据类型以及一些常用的R函数。