基础数据结构
R语言中主要有向量(vector),矩阵(matrix),列表(list),数据框(data frame),数组(array), 因子(factor)六种数据结构。
1.向量(vector)
向量是用来存储数值型、字符型或逻辑型数据的一维数组。单个向量中的数据类型必须一致。创建向量使用c,访问向量中的元素用[],R语言的索引是从1开始的。
> a <- c(1, 2, 3, 4)
> a[3]
[1] 3
> a[1:3]
[1] 1 2 3
2.数组(array)与矩阵(matrix)
数组创建使用array()
,访问数组中的元素与访问向量中的元素类似。
array(data = NA, dim = length(data), dimnames = NULL)
> a <- array(1:6, c(2, 3))
> a
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
矩阵是二维数组,其内容也可以是数值、字符或布尔值,与向量相同,所有数据的类似必须一致。创建矩阵使用matrix()
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
> a <- matrix(1:8, 2, 4)
> a
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
使用矩阵可以方便的进行计算,在定义两个同维度的矩阵a和b后,可以进行a/2, a*2, a+b, a-b等运算。
3.列表(list)
列表是R语言中最复杂的数据结构,允许任何数据类型的数据集合在一起,用list()
创建。
> a <- c("a, b, c")
> b <- matrix(1:4, c(2, 2))
> mylist <- list(a, b)
> mylist
[[1]]
[1] "a, b, c"
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
4.数据框(data frame)
数据框是我在使用R语言中使用较多的一种数据结构。数据框不同的列可以包含不同的数据类型,数据框使用data.frame()
创建。
> ID <- c(1, 2, 3)
> gender <- c("female", "male", "male")
> age <- c(22, 45, 89)
> mydata <- data.frame(ID, gender, age)
> mydata
ID gender age
1 1 female 22
2 2 male 45
3 3 male 89