R语言的基本数据结构

1、向量

向量是用于存储数值型、字符型或逻辑性数据的一维数组,执行组合功能的函数c()可用来创建向量

下面创建向量a,并对其进行运算

> a<-c(2,3,4)
> a
[1] 2 3 4
> a*a
[1]  4  9 16

> a*(-a)
[1]  -4  -9 -16

2、矩阵

矩阵是一个二维数组只要每个元素拥有相同的模式,可通过函数matrix创建矩阵

一般的格式:newmatrix<-matrix(vector,nrow=numbers_of_rows,ncol=number_of_columns,byrow=logical_value,dimnames=list(char_vector_rownames,char_vector_colnames))

上面的各个参数解释:

vector:表示是一个向量,包含了矩阵的元素

nrow和ncol用以指定行和列的维数

dimnames包 列名含了可选的、以字符向量表示的行名

byrows表示矩阵式按行填充(byrows=TRUE)还是按列填充(byrows=FALSE).默认按行

1、创建一个矩阵

> y<-matrix(1:20,nrow=5,ncol=4)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20

2、按行填充

> cells<-c(1,2,3,4)
> rnames<-c("R1","R2")
> cnames<-c("C1","C2")
> y1<-matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))
> y1
   C1 C2
R1  1  2
R2  3  4
3、按列填充

> y2<-matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames,cnames))
> y2
   C1 C2
R1  1  3
R2  2  4

3、数组

关于数组这个东西,基本上的语言里都有这个东西,不多解释了

用法:newarray<-array(vector,dimensions,dimnames)

vector:向量,也是数组中的数据.

dimensions是一个数值型向量,给出了各个维度下标的最大值

dimnames是可选的,各维度名称的标签列表

下面创建一个2*3*4的数组

> dim1<-c("A1","A2")
> dim2<-c("B1","B2","B3")
> dim3<-c("C1","C2","C3","C4")
> x=array((1:24),c(2,3,4),dimnames=list(dim1,dim2,dim3))
> x
, , C1
   B1 B2 B3
A1  1  3  5
A2  2  4  6
, , C2
   B1 B2 B3
A1  7  9 11
A2  8 10 12
, , C3
   B1 B2 B3
A1 13 15 17
A2 14 16 18
, , C4
   B1 B2 B3
A1 19 21 23
A2 20 22 24

4、数据框

数据框这个东西应该是R特有的。是R语言最常处理的数据结构

用法:data.frame(col1,col2,col3,...)其中列向量col1,col2,col3....可以是任何类型.

> num<-c(2,4,6,8)
> code<-c("mysql","java","mongodb","python")
> state<-c("TRUE","FALSE","TRUE","FALSE")
> newdataframe<-data.frame(num,code,state)
> newdataframe
  num    code state
1   2   mysql  TRUE
2   4    java FALSE
3   6 mongodb  TRUE
4   8  python FALSE
> class(newdataframe)
[1] "data.frame"


5、因子

类别(名义型)变量和有序类别(有序性)在R中成为因子,因子在R中是非常重要的存在,因为它决定了数据的分析方式以及如何进行视觉呈现。

我不知道怎么用文字解释了.......

6、列表

列表是R语言数据类型最复杂的一种,就是一些对象的有序集合,允许我们整合若干对象到单个对象名下

mylist<-list(object1,object2,object3......)

其中object可以是上面说的任何一种结构

下面这个例子可以说列表就是个大杂烩吧。

> a<-"I LOVE python"
> b<-c(1,2,3,4)
> c<-matrix(1:4,nrow=2)
> d<-c("one","two","three")
> mylist<-list(title=a,sort=b,c,d)
> mylist
$title
[1] "I LOVE python"

$sort
[1] 1 2 3 4

[[3]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[4]]
[1] "one"   "two"   "three"


收藏

共0条 1

登录 后发表评论。没有帐号? 注册 一个。

2019-04-21 09:39:12 160 次浏览 0 个评论