作者: | 来源:互联网 | 2023-08-01 08:55
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) > 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) > class( patientdata) [ 1 ] "data.frame" > mode( patientdata) [ 1 ] "list"
运行View指令后的结果
3.提取元素的指令 提取元素数据框的元素&#xff08;与对矩阵操作类似&#xff09;。
> patientdata[ [ 2 ] ] [ 1 ] 23 29 34 43 > patientdata$ age [ 1 ] 23 29 34 43 > patientdata$ age[ 2 ] [ 1 ] 29
4.行列的添加
> treatment<- c( 1 , 0 , 1 , 1 ) > patientdata$ treatment<- treatment> patientdataID age diabetes status treatment1 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 treatment1 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 > rbind( patientdata[ 1 : 3 , ] , new, patientdata[ 4 : length( patientdata) , ] ) ID age diabetes status treatment1 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 patientdata[ c( "age" , "ID" ) ] <- NULL newdata<- patientdata[ patientdata$ ID&#61;&#61; 1 & patientdata$ age> 30 ] subset( patientdata, age> 30 & diabetes&#61;&#61; "Ty1" ) subset( patientdata, age> 30 | diabetes&#61;&#61; "Ty1" )