R语言的数据结构分为:向量,数组,矩阵,数据框
1,向量:
vector(mode = "logical", length = 0)
这里,mode参数表示的是该向量储存数据的类型,length表示该向量的长度。
ex:x<-vector(1:10)y<-c("a","b","c","d")
2,矩阵:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)
这里data是该向量要储存的数据,nrow和ncol,顾名思义是指这个矩阵有多少行和多少列,需要指出的是,data的个数需要等于nrow乘以ncol。byrow表示数据是否以行的方式进行排列,我们会在下面的例子中阐述。dimnames与array中的dimnames一致。
> x = matrix(data=1:6,nrow=2,ncol=3,byrow=T) > x [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 > x = matrix(data=1:6,nrow=2,ncol=3,byrow=F) > x [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6
数组:数组可以使二维数组,也可以是多维数组
数组(包括向量和矩阵)。
数组可以用来储存数值型(numeric)、逻辑型(logical)和字符型(character)三种类型的数据。
例如:
储存字符型数据
> x = array(rep("a",6),dim=c(2,3)) > x [,1] [,2] [,3] [1,] "a" "a" "a" [2,] "a" "a" "a"
例子2> x = array(rpois(24,10),dim=c(2,3,4),dimnames=list(c("male","female"),c("apple","banana","pear"),c("Mon","Tue","Wed","Thu")))
> x , , Mon apple banana pear male 11 12 10 female 9 9 9 , , Tue apple banana pear male 8 15 7 female 3 5 10 , , Wed apple banana pear male 9 9 13 female 12 12 9 , , Thu apple banana pear male 11 5 9 female 9 9 8
第二种:列表。
列表是R语言中使用非常广泛的一种结构,他的主要特点就是不对齐的数据格式。是用list函数进行创建。
例如:
> x = list(fruit=c("apple","banana","pear"),price=c(1,1,1.5),market=c("newabest")) > x $fruit [1] "apple" "banana" "pear" $price [1] 1.0 1.0 1.5 $market [1] "newabest"
第三种:数据框。
数据框实际上是一种非常实用的数据结构。它实际上是一个表,这个表的列与列之间可以储存不同的数据类型,但是同一列必须是同一种数据结构。如:
> fruit=c("apple","banana","pear") > price=c(1,1,1.5) > buy=c(T,F,F) > x=data.frame(fruit,price,buy) > x fruit price buy 1 apple 1.0 TRUE 2 banana 1.0 FALSE 3 pear 1.5 FALSE
同样的,我们可以使用x$fruit、x$price和x$buy来调用这三列数据。