R语言入门——取子集

Posted 统计学小王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言入门——取子集相关的知识,希望对你有一定的参考价值。

引言

取子集在数据处理中是比较常用的,本文介绍两种主要取子集的方式。

1、数据构造

本文以数据框为例子,所以构造数据框。

> Df <- data.frame(
+ name = paste0('张三',1:16),
+ score = round(rnorm(16,60,3)),
+ sex = rep(c('男','女'),8)
+ )
> Df
     name score sex
1   张三1    582   张三2    533   张三3    604   张三4    645   张三5    606   张三6    577   张三7    638   张三8    559   张三9    5710 张三10    5611 张三11    6112 张三12    5313 张三13    5714 张三14    6215 张三15    5616 张三16    55

取子集

subset

> # 取出性别是男的信息
> subset(Df,sex == '男')
     name score sex
1   张三1    583   张三3    605   张三5    607   张三7    639   张三9    5711 张三11    6113 张三13    5715 张三15    56> # 取出成绩大于等于60(及格)的人
> subset(Df,score >= 60)
     name score sex
3   张三3    604   张三4    645   张三5    607   张三7    6311 张三11    6114 张三14    62> # 取出成绩大于等于57小于60(刚刚不及格)的人
> subset(Df,score >= 57&score < 60)
     name score sex
1   张三1    586   张三6    579   张三9    5713 张三13    57> 

逻辑索引

> # 取出性别是男的信息
> Df[Df$sex == '男',]
     name score sex
1   张三1    583   张三3    605   张三5    607   张三7    639   张三9    5711 张三11    6113 张三13    5715 张三15    56> # 取出成绩大于等于60(及格)的人
> Df[Df$sc >= 60,]
     name score sex
3   张三3    604   张三4    645   张三5    607   张三7    6311 张三11    6114 张三14    62> # 取出成绩大于等于57小于60(刚刚不及格)的人
> Df[Df$sc >= 57&Df$sc < 60,]
     name score sex
1   张三1    586   张三6    579   张三9    5713 张三13    57

总结

希望可以帮助大家提高R水平。
水平有限发现错误还望及时评论区指正,您的意见和批评是我不断前进的动力。

以上是关于R语言入门——取子集的主要内容,如果未能解决你的问题,请参考以下文章

R语言入门——取子集

R语言取子集

R语言基本功:数据集取子集

R语言学习:提取R对象的子集

R取子集(dplyr方法)

R语言数据结构-数据框&矩阵&列表