您的位置:首页 > 理论基础 > 数据结构算法

R语言中的数据结构

2016-03-08 17:37 316 查看

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,]123
[2,]456
>x=matrix(data=1:6,nrow=2,ncol=3,byrow=F)
>x
[,1][,2][,3]
[1,]135
[2,]246

数组:数组可以使二维数组,也可以是多维数组

数组(包括向量和矩阵)。

数组可以用来储存数值型(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

applebananapear
male111210
female999

,,Tue

applebananapear
male8157
female3510

,,Wed

applebananapear
male9913
female12129

,,Thu

applebananapear
male1159
female998

第二种:列表。

列表是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.01.01.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
fruitpricebuy
1apple1.0TRUE
2banana1.0FALSE
3pear1.5FALSE


同样的,我们可以使用x$fruit、x$price和x$buy来调用这三列数据。




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: