R语言subset函数的用法
1、创建测试数据
> test <- as.data.frame(matrix(1:100,nrow = 10))
> test
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 11 21 31 41 51 61 71 81 91
2 2 12 22 32 42 52 62 72 82 92
3 3 13 23 33 43 53 63 73 83 93
4 4 14 24 34 44 54 64 74 84 94
5 5 15 25 35 45 55 65 75 85 95
6 6 16 26 36 46 56 66 76 86 96
7 7 17 27 37 47 57 67 77 87 97
8 8 18 28 38 48 58 68 78 88 98
9 9 19 29 39 49 59 69 79 89 99
10 10 20 30 40 50 60 70 80 90 100
2、按照行进行筛选
> subset(test,V1 == 3) ##提取第一列等于3的行
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
3 3 13 23 33 43 53 63 73 83 93
> subset(test,V1 >= 5) ##提取第一列大于等于5的行
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
5 5 15 25 35 45 55 65 75 85 95
6 6 16 26 36 46 56 66 76 86 96
7 7 17 27 37 47 57 67 77 87 97
8 8 18 28 38 48 58 68 78 88 98
9 9 19 29 39 49 59 69 79 89 99
10 10 20 30 40 50 60 70 80 90 100
> subset(test,V1 >=5 & V2 >= 18) ## 提取第一列大于等于5 而且第二列大于等于18的行
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
8 8 18 28 38 48 58 68 78 88 98
9 9 19 29 39 49 59 69 79 89 99
10 10 20 30 40 50 60 70 80 90 100
> subset(test,V1 >= 5 | V2 <= 12) ## 提取第一列大于等于5 或者第二列小于等于12的行
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 11 21 31 41 51 61 71 81 91
2 2 12 22 32 42 52 62 72 82 92
5 5 15 25 35 45 55 65 75 85 95
6 6 16 26 36 46 56 66 76 86 96
7 7 17 27 37 47 57 67 77 87 97
8 8 18 28 38 48 58 68 78 88 98
9 9 19 29 39 49 59 69 79 89 99
10 10 20 30 40 50 60 70 80 90 100
3、按照列进行筛选
> subset(test,select = 3) ## 提取第三列
V3
1 21
2 22
3 23
4 24
5 25
6 26
7 27
8 28
9 29
10 30
> subset(test,select = c(2,5,7)) ## 提取第2、5、7列
V2 V5 V7
1 11 41 61
2 12 42 62
3 13 43 63
4 14 44 64
5 15 45 65
6 16 46 66
7 17 47 67
8 18 48 68
9 19 49 69
10 20 50 70
> subset(test,select = -c(2,5,7)) ##提取2、5、7列以外的所有列
V1 V3 V4 V6 V8 V9 V10
1 1 21 31 51 71 81 91
2 2 22 32 52 72 82 92
3 3 23 33 53 73 83 93
4 4 24 34 54 74 84 94
5 5 25 35 55 75 85 95
6 6 26 36 56 76 86 96
7 7 27 37 57 77 87 97
8 8 28 38 58 78 88 98
9 9 29 39 59 79 89 99
10 10 30 40 60 80 90 100
4、同时按照行、列进行筛选
subset(test,V1 >= 4 & V2 >= 18,select = c(1,3,5)) ## 按照行列筛选
V1 V3 V5
8 8 28 48
9 9 29 49
10 10 30 50
> subset(test,V1 >= 4 & V2 >= 18,select = -c(1,3,5)) ##同上
V2 V4 V6 V7 V8 V9 V10
8 18 38 58 68 78 88 98
9 19 39 59 69 79 89 99
10 20 40 60 70 80 90 100
分类:
R语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律