热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【R】数据框data.frame的基本操作【1】

data.frame(数据框)是R语言中的一种数据结构,下面将从多个方面介绍data.frame的基本操作。1.建立数据框ID

data.frame(数据框)是R语言中的一种数据结构,下面将从多个方面介绍data.frame的基本操作。
1.建立数据框

ID<-c(1,2,3,4)
age<-c(23,29,34,43)
diabetes<-c("Ty1","Ty2","Ty1","Ty1")
status<-c("poor","improved","excellent","poor")
patientdata<-data.frame(ID,age,diabetes,status)

其中patientdata即为数据框&#xff0c;它里面的每一列可以是不同的类型。

2.一些查看数据类型的指令

View(patientdata) #查看整个patientdata表&#xff08;结果见下图&#xff09;
> str(patientdata)
&#39;data.frame&#39;: 4 obs. of 4 variables:$ ID : num 1 2 3 4$ age : num 23 29 34 43$ diabetes: chr "Ty1" "Ty2" "Ty1" "Ty1"$ status : chr "poor" "improved" "excellent" "poor"
patientdata<-data.frame(ID,age,diabetes,status,stringsAsFactors&#61;T) #将列中的字符串类型转换为因子类型#查看patientdata的类型
> class(patientdata)
[1] "data.frame"
> mode(patientdata)
[1] "list"

运行View指令后的结果
运行View指令后的结果

3.提取元素的指令
提取元素数据框的元素&#xff08;与对矩阵操作类似&#xff09;。

> patientdata[[2]] #提取第二列的值
[1] 23 29 34 43
> patientdata$age #提取age一列的值
[1] 23 29 34 43
> patientdata$age[2] #提取age一列的第二个元素
[1] 29

4.行列的添加

#添加列
> treatment<-c(1,0,1,1)
> patientdata$treatment<-treatment
> patientdataID age diabetes status treatment
1 1 23 Ty1 poor 1
2 2 29 Ty2 improved 0
3 3 34 Ty1 excellent 1
4 4 43 Ty1 poor 1
#添加行
> new&#61;list(5,53,"Ty2","improved",0)
> rbind(patientdata,new)ID age diabetes status treatment
1 1 23 Ty1 poor 1
2 2 29 Ty2 improved 0
3 3 34 Ty1 excellent 1
4 4 43 Ty1 poor 1
5 5 53 Ty2 improved 0
#在第3,4行之间添加行
> rbind(patientdata[1:3,],new,patientdata[4:length(patientdata),])ID age diabetes status treatment
1 1 23 Ty1 poor 1
2 2 29 Ty2 improved 0
3 3 34 Ty1 excellent 1
4 5 53 Ty2 improved 0
41 4 43 Ty1 poor 1
NA NA NA <NA> <NA> NA

5.查看对应行列&#xff0c;元素的选取赋值

patientdata$ID<-NULL #删除ID所在的列
patientdata[c("age","ID")]<-NULL #删除多列
#筛选出patientdata中ID等于1&#xff0c;年龄大于30的数据
newdata<-patientdata[patientdata$ID&#61;&#61;1&patientdata$age>30]
#用subset函数进行筛选
subset(patientdata,age>30&diabetes&#61;&#61;"Ty1")
subset(patientdata,age>30|diabetes&#61;&#61;"Ty1") #“|”表示或

推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有