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 58 男
2 张三2 53 女
3 张三3 60 男
4 张三4 64 女
5 张三5 60 男
6 张三6 57 女
7 张三7 63 男
8 张三8 55 女
9 张三9 57 男
10 张三10 56 女
11 张三11 61 男
12 张三12 53 女
13 张三13 57 男
14 张三14 62 女
15 张三15 56 男
16 张三16 55 女
取子集
subset
> # 取出性别是男的信息
> subset(Df,sex == '男')
name score sex
1 张三1 58 男
3 张三3 60 男
5 张三5 60 男
7 张三7 63 男
9 张三9 57 男
11 张三11 61 男
13 张三13 57 男
15 张三15 56 男
> # 取出成绩大于等于60(及格)的人
> subset(Df,score >= 60)
name score sex
3 张三3 60 男
4 张三4 64 女
5 张三5 60 男
7 张三7 63 男
11 张三11 61 男
14 张三14 62 女
> # 取出成绩大于等于57小于60(刚刚不及格)的人
> subset(Df,score >= 57&score < 60)
name score sex
1 张三1 58 男
6 张三6 57 女
9 张三9 57 男
13 张三13 57 男
>
逻辑索引
> # 取出性别是男的信息
> Df[Df$sex == '男',]
name score sex
1 张三1 58 男
3 张三3 60 男
5 张三5 60 男
7 张三7 63 男
9 张三9 57 男
11 张三11 61 男
13 张三13 57 男
15 张三15 56 男
> # 取出成绩大于等于60(及格)的人
> Df[Df$sc >= 60,]
name score sex
3 张三3 60 男
4 张三4 64 女
5 张三5 60 男
7 张三7 63 男
11 张三11 61 男
14 张三14 62 女
> # 取出成绩大于等于57小于60(刚刚不及格)的人
> Df[Df$sc >= 57&Df$sc < 60,]
name score sex
1 张三1 58 男
6 张三6 57 女
9 张三9 57 男
13 张三13 57 男
总结
希望可以帮助大家提高R水平。
水平有限发现错误还望及时评论区指正,您的意见和批评是我不断前进的动力。
以上是关于R语言入门——取子集的主要内容,如果未能解决你的问题,请参考以下文章