R语言-基本数据对象之数据框_第1页
R语言-基本数据对象之数据框_第2页
R语言-基本数据对象之数据框_第3页
R语言-基本数据对象之数据框_第4页
R语言-基本数据对象之数据框_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【实验目的】

1)熟悉R语言的基本数据类型

2)熟悉R语言的基本操作

3)熟悉R语言数据框的操作

【实验原理】

在R语言里操作和接触的所有东西都称作对象(object)。对象有很多种类可

以包含各种类型的数据。R语言里所有的东西都被称为对象,R语言中常见的

数据类型有几下几种,分别是字符型(character)、数值型(numeric)、复数型

(complex)以及逻辑型(logical)o通过mode。函薪可以查看一个对象的类型。

R语言中的基本运算包括以下:数学计算,比较运算,运算函数,向量常用统

计函数,矩阵常用函数集合运算,向量化,从文件中读取数据,概率分布,循环

和条件操作。

R语言的数据对象主要包括向量(vector),矩阵(mathx),因子(factors),列表

(list),数据框(dataframe),函数(function)。

数据框是表或二维阵列状结构,其中每一列包含一个变量的值,并且每一行

包含来自每一列的一组值。

以下是数据框的特性。

1)列名称应为非空。

2)行名称应该是唯一的。

3)存储在数据框中的数据可以是数字,因子或字符类型。

4)每个列应包含相同数量的数据项。

【实验环境】

本次环境是:win764位系统+R3.3.3

【实验步骤】

一、打开R语言的界面

1.1双击桌面上的程序Rx64333,出现如下画面,则打开成功。如图1

所示

RFileEditViewMisePackagesWindowsHelp

同画间同囤®]画囹

>I

一、数据框

2.1数据框介绍

数据框是R语言里中的一种数据结构,其内部可以由多种数据类型,每一

列是一个变量,每行是一个观测记录。在R中数据框是很通用的数据结构,它

是一种特殊的列表对象

2.2数据框的生成。

语法是:data.frame(data1,data2,

>name<-c(*MrA',*MrB*,*MrC*)

>group<-rep(1,3)

>score<-c(69,71z92)

>dd<-data.frame(name,group,score)

>dd

namegroupscore

1MrA169

2MrB171

3MrC192

>I

2.3根据列表生成数据框。

mylist=list(name=cCa','b','c'),sex=c('1','O','1'),age=c(12,24,35))“

>mylist=list(name=c('a*z'b*,'c"),sex=c('1*,'i

>

>mylist

$name

[1]na""b""c"

$sex

[1]n1nno,f”]”

$G㊀

a-J

[lU122435

$aie

pz

[-T]22435

>

>d=as.data.frame(mylist)

>d

namesexage

1a112

2b024

3c135

>

根据矩阵生成数据框。

如果原来有列名,那么列名将被改作为数据框的变量名,如果没有列名,

那系统会自动为矩阵的各列起一个变量名,如:V1,V2,V3...

>x=array(1:12,c(3,4))

>x

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

[1J14710

[2,]25811

[3,]36912

>

>x=as.data.frame(x)

>x

VIV2V3V4

114710

225811

336912

>

三、数据框的引用。

3.1使用下标引用。

表示取数据框的第1到第2行,第2列到第4歹

[3,]36912

>

>x=as.data.frame(x)

>x

VIV2V3V4

114710

225811

336912

/

[T224

7Xx•:

V2V3V4

1471o

5

2811

3.2按列表名引用

336912

>

[1224

>X:•

V2V34

V-

1471o

25811

>

>

>

>XrL[VVI

[1]123

>

>

3.3.数据框的names()函数,显示列名。

14710

25811

>

>

>

>xtfVl1]]

[1]123

>

>

>

>names(x)

[1]nVlnnV2nnV3n“V4”

>

修改数据框的列名。

使用colnames()函数。

>

>colnames(x)=c('1','2','3','4')

>x

1234

114710

225811

336912

>

修改数据框的行名。

使用rownames()来修改

>

>rownames(x)=c('第一行'3第二行'J第三行,)

>x

1234

第一行14710

第二行25811

第三行36912

>

数据框的合并

使用rbind()函数进行数据框的行合并。

>name<-c(*MrA*,*MrB*A*MrC')

>group<-rep(1,3)

>score<-c(69,71,92)

>dd<-data.frame(name,group,score)

>name<-c(*MrC*z*MrD*)

>group<-c(2,2)

>score<-c(93,99)

>ddl<-data.frame(name,score,group)

>dd2<-rbind(dd,ddl)

>ddl

namescoregroup

1MrC932

2MrD992

>dd2

namegroupscore

使用cbindO函数进行数据框的列合并。

>age<-c(14A15z14z16,13)

>dd4<-cbind(dd2,age)

>dd4

namegroupscore3g㊀

1MrA16914

2MrB17115

3MrC19214

4MrC29316

5MrD29913

>

数据框attach()函数

数据框的主要用途是保存统计建模的数据,R的统计建模功能都需要以数

据框为输入数据,我们可以把数据框当成一种矩阵来处理。在使用数据框的变量

时可以使用“数据框名$变量名”来获取数据框的变量值。但是这种用法比较麻烦,

R提供attach。函数可以把数据框中的变量“连接”到内存中,这样便于数据框数

据的调用。

使用attach。函数将数据框加载到内存中

d=data.frame(height=c(100,200,300),weight=c(1,2,3))“

>d=data.frame(height=c(100,200

>d

heightweight

11001

22002

33003

>attach(d)

>height/weight

[1]100100100

>

将新的变量添加到数据框中

使用$命令将新变量添加到数据框中。

>

>d$val=height/weight

>d

brightweightval

11001100

22002100

33003100

>

数据框的修改

数据框的修改

使用edit。函数。对于弹出的窗口可以手动修改里面的内容

RieWindowsEditHelp

>height/weightzZ.UUz.±uu

[1]10010010033003100

>4

>5

>d$val=height/weight6k

>d7

heightweightval

8

11001100

9

22002100

3300310010

>11

12

>dl=edit(d)13

14

15

使用fix()函数,对于弹出的窗口可以手动修改里面的内容

>33003100

>d$val=heigb4

>d5

heightweic6

1100-

7

2200

8

3300

>9

>10t

>dl=edit(d)11

>12

>------------131

>fix(d)14

15

四、数据框的合并

merge函数对数据框的操作,从两个数据框中选择出条件相等的行组合成一个新

的数据框

dfl=daXa^J,rame^name=c(,,aa,/,,zbb,z,^cc^),age=c(20,90,30),sex=c(〃f〃,〃m〃,

1))二

df2=data.frame(name=c("dd〃,〃bb〃,〃cc"),age=c(40,35,36),sex=c(〃f”,

f〃))〃

>dfl=data.frame(name=c(”aa","bb","cc")

>

>df2=data.frame(name=c("dd",Hbbn,nccn)

>

>

>dfl

nameagesex

1aa20f

2bb90m

3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论