R语言之数据集的创建
(2016-09-07 17:28:01)分类: R语言 |
创建数据集是统计分析的开始,在R中通常包括两个步骤;
1.
2.
数据集通常是一个有数据组成的矩形数组,行表示观测(observation),列表示变量(variable)。数据类型通常包括字符型、数值型、逻辑性(TRUE/FALSE)、复数型(虚数)和原生型(字符)。
A.
定义: a<-c(1,23,45,2,0,9)
调取: a[3] ; a[c(2,5)] ; a[2:6]=>a[c(2,3,4,5,6)]
B.
定义:
> x<-c(1:20)
> rnames<-c("A1","A2","A3","A4")
> cnames<-c("B1","B2","B3","B4","B5")
> x<-matrix(x,nrow=4,byrow=T,dimnames=list(rnames,cnames))
> x
输出:
A1
A2
A3
A4
调取:x[2,];x[1,4];x[1,c(4,5)]=>4,5
C.
定义:
> dim2<-c("B1","B2")
> dim3<-c("C1","C2","C3")
> myarray<-array(1:18,c(3,2,3),dimnames=list(dim1,dim2,dim3))
> myarray
输出:
, , C1
A1
A2
A3
, , C2
A1
A2
A3
, , C3
A1 13
A2 14
A3 15
调取:myarray[1,2,3]
D.
定义:
> age<-c(25,34,28,52)
> diabetes<-c("Type1","Type2","Type1","Type1")
> status<-c("poor","improved","excellent","poor")
> mydata<-data.frame(patientID,age,diabetes,status)
> mydata
输出:
1
2
3
4
$:用于选取一个给定数据框中的某个特定变量。
> table(mydata$status, mydata$diabetes)
The following objects are masked _by_ .GlobalEnv: age, diabetes, patientID, status
>summary(patientID)
>
plot(patientID,age)
>detach(mydata)
◎detach( )将数据框从搜索路径中移除,可省略
注意:命名时原始对象享有优先权,避免同名对象的使用。
注意:with语句的赋值仅在此函数的括号内生效;若创建此函数外存在的对象,使用特殊符号《-代替<-。
实例标识符:
e.g.
> age<-c(25,34,28,52)
> diabetes<-c("Type1","Type2","Type1","Type1")
> status<-c("poor","improved","excellent","poor")
> mydata<-data.frame(patientID,age,diabetes,status,row.names=patientID)
> mydata
输出:
2
3
4
5
※变量可分为:名义型(无序型)、有序型[如上实例中的status]、连续型[某个范围内的任意值,同时表示了顺序和数量,如Age]
函数factor( )以整数向量的形式存储类别值;表示有序型变量,需指定参数ordered=TRUE
e.g.
> patientID<-c(2,3,4,5)
> age<-c(25,34,28,52)
> diabetes<-c("Type1","Type2","Type1","Type1")
> status<-c("poor","improved","excellent","poor")
> diabetes<-factor(diabetes)
> status<-factor(status,ordered=TRUE)
> mydata<-data.frame(patientID,age,diabetes,status)
> str(mydata)
'data.frame':
> summary(mydata)
E:列表(list),可包括若干向量、矩阵、数据框等其他组合
定义:> g<-"my data"
> h<-c(23,4,24,51)
>rnames<-c(“A1”,”A2”,”A3”,”A4”,”A5”,”A6”)
>cnames<-c(“B1”,”B2”,”B3”,”B4”)
> j<-matrix(1:24,nrow=6,byrow=T,dimnames=list(rnames,cnames))
> k<-c("one","two","three")
> mylist<-list(title=g,ages=h,j,k)
> mylist
$title
[1] "my data"
$ages
[1] 23
[[3]]
[B1]
[B2]
[B3]
[B4]
[B5]
[B6]
[[4]]
[1] "one"
调用:> mylist[[2]]
[1] 23
数据的输入可从键盘、文本文件、Microsoft Excel 和Access、统计软件、特殊格式的文件等导入数据。
gender=character(0),weight=numeric(0))
>fix(mydata)
e.g.
row.names=”STUDENTID”)
e.g.
调用.xlsx格式文件时的格式:
>library(xlsx)
>workbook<-“c:/myworkbook.xlsx
>mydata<-read.xlsx(workbook,1)”
数据集的标注:变量标签;值标签(patientdata$gender<-factor(patientdata$gender,
levels=c(1,2),labels=c(“males”,”femals”)))
PS: head(object)=>列出数据框前六行
更新R版本: