R语言数据管理之数据选择
在数据分析时,经常需要选择数据的子集进行统计分析或者检验部分观测值是否正确,R语言中,可以采用下标法、记号法$以及函数法选取数据框中的观测值。
01
生成数据框
#构建数据框mydata
02
选取观测值(行)
1、下标法
mydata[i,j]表示mydata的第i行第j列数据,mydata[i,]表示第mydata的第i行。
> mydata[c(1,2,6),]#mydata中第1,2,6行的数据信息。
> mydata[1:6,]相当于head(mydata),此处可以对比mydata[1:6]
2、记号$法
mydata[mydata$Age>25,]#选取年龄大于25的观测值(行)
3、函数法
>subset(mydata,Age>25)#选取年龄大于25的观测值(行)>subset(mydata,Gender=="M"&City=="龙岩",select = c("PatientID","Date","Age"))
PatientID Date Age
4 4 06/23/20 35
03
选取变量(列)
#选取变量可以采用下标法、记号$法,函数法和绑定attach法
1、下标法
mydata[,3]#相当于mydata$Age
mydata[,10:12]#相当于mydata[,c(10,11,12)]
mydata[,c(2,4,6)]
#相当于mydata[,c("Date","Gender","Pr1")]
2、记号法
X<-mean(mydata$Age)#计算Age列的平均年龄。
plot(mydataAge,mydataPr1)#以Age为横坐标,Pr1为纵坐标绘图,相当于plot(Age~Pr1,data=mydata)
3、函数法
with(data,{....})
with(mydata,{
mean(Age)
mean(Pr1)
plot(Age,Pr1)
})
04
剔除行和列的数据
mydata[-1,]#剔除第1行数据
mydata[c(-2,-6),]#剔除第2行和第6行数据
mydata[,-3]#剔除第3列数据
mydata[,c(-3,-8)]#剔除第3列和第8列数据
mydata[-4,-5]#剔除第1行和第5列的数据
mydata[c(-4,-5),c(-2,-3)]#剔除第4行第5列和第2行第3列数据
补充
1、dim()是显示数据框大小,比如几行几列
2、names()是数据框mydata中变量名或列名。
3、head()默认显示mydata的前6行,也可选择任意多行,比如head(mydata,4)。
4、tail()函数是默认显示后6行也可选择任意多行,比如tail(mydata,4)。