好文档 - 专业文书写作范文服务资料分享网站

R语言学习系列17-数据整合—基本操作 

天下 分享 时间: 加入收藏 我要投稿 点赞

16. 数据整合Ⅰ—基本操作

目录:

一. 数据框创建新变量 二、变量的重命名 三. 变量的重新编码 四. 数据排序 五. 数据合并 六. 选取数据的子集 七. 简单的随机抽样 正文:

一、数据框创建新变量

假设有MyData数据框,其中变量为x1,x2. 现创建名为sumx和meanx的新变量,分别存储变量x1与x2的加和与均值。

#方法1

MyData$sumx<- MyData$x1 + MyData$x2

MyData$meanx<- (MyData$x1 + MyData$x2)/2 #方法2

attach(MyData)

MyData$sumx<- x1+x2

MyData$meanx<- (x1+x2)/2 detach(MyData) #方法3(建议方法)

MyData<- transform(MyData,

sumx = x1 + x2,

meanx = (x1+x2)/2)

二、变量的重命名 1. 用交互式编辑器

若修改数据集x的变量名,键入函数fix(x),即可打开交互式编辑器界面。

score<-data.frame(student=c(\c(\pl=c(66,59,NA,88))

fix(score)

score.list<-as.list(score)#将score转化为列表 fix(score.list)

(1)若数据集为矩阵或数据框

将打开“数据编辑器”,单击要修改的变量名,在弹出的“变量编辑器”修改即可:

(2)若数据集为列表

将交互式编辑器为一个记事本,只需修改“.Names”之后对应的

变量名即可:

2. 用函数rename()

reshape包中的函数rename(),用来修改数据库和列表的变量名,但不能修改矩阵的变量名,基本格式为:

rename(x, c(oldname=\

其中,oldname为原变量名,newname为新变量名。

library(reshape)

rename(score,c(pl=\student gender math Engchinese 1 A M 90 88 66 2 B M 70 78 59 3 C F 80 69 NA 4 D F 60 98 88

rename(score.list,c(pl=\$student [1] A B C D

Levels: A B C D

$gender

[1] M M F F Levels: F M

$math

[1] 90 70 80 60

$Eng

[1] 88 78 69 98

$chinese

[1] 66 59 NA 88

注意:原数据集中的变量名并未被修改。

3. 用函数names()

和rename()一样可用来修改数据框和列表的变量名,不能修改矩阵的变量名;区别在于:names()会在原数据集中修改变量名。

其基本格式为:

names(x)[i]<-\newname\

names(score)[5]=\score

student gender math Engchinese 1 A M 90 88 66 2 B M 70 78 59 3 C F 80 69 NA 4 D F 60 98 88

4. 用函数colnames()和rownames()

用来修改矩阵的变量名(行名和列名),也能修改数据框的行名和列名。基本格式为:

rownames(x)[i]<-\newname\

colnames(score)[5]=\score

student gender math Eng Chinese 1 A M 90 88 66 2 B M 70 78 59 3 C F 80 69 NA 4 D F 60 98 88 rownames(score)=letters[1:4] score

student gender math Eng Chinese aA M 90 88 66 bB M 70 78 59 cC F 80 69 NA dD F 60 98 88

三、变量的重新编码

例如,数据集Leader中连续型变量age重新编码为分类型变量rankAge (Young、Middle Aged、Elder)。

首先,必须把99岁的年龄值重新编码为缺失值:

Leader$age[Leader$age == 99] <-NA

然后创建rankAge变量:

Leader$rankAge[Leader$age>75] <- \ Leader$rankAge[Leader$age>=50 &Leader$age<=75] \

Leader$rankAge[Leader$age<50] <- \

<-

或者

Leader<-within(Leader, { rankAge<-NA

rankAge[age>75] <- \

rankAge[age>=50 & age<=75]<-\rankAge[age<50] <- \

四、数据排序

1.函数sort(),基本格式:

sort(x,decreasing=FALSE, na.last= FALSE,...)

其中,

x为排序对象(数值型或字符型);

decreasing默认为FALSE即升序,TURE为降序;

R语言学习系列17-数据整合—基本操作 

16.数据整合Ⅰ—基本操作目录:一.数据框创建新变量二、变量的重命名三.变量的重新编码四.数据排序五.数据合并六.选取数据的子集七.简单的随机抽样正文:一、数据框创建新变量假设有MyData数据框,其中变量为x1,x2.现创建名为sumx和meanx的新变量,分别存储变量x1与x2的加和与均值
推荐度:
点击下载文档文档为doc格式
8pywo9r6qg81m9t3zgu8
领取福利

微信扫码领取福利

微信扫码分享