R语言中依据列名提取列
1、直接依据列名提取
> a <- 1:5 > b <- letters[1:5] > c <- LETTERS[1:5] > d <- letters[6:10] > dat <- data.frame(a, b, c, d) > dat a b c d 1 1 a A f 2 2 b B g 3 3 c C h 4 4 d D i 5 5 e E j > dat[, "c"] ## 依据列名c提取列 [1] "A" "B" "C" "D" "E" > dat[,c("a", "d")] ## 提取a、d列 a d 1 1 f 2 2 g 3 3 h 4 4 i 5 5 j
2、subset实现
> a <- 1:5 > b <- letters[1:5] > c <- LETTERS[1:5] > d <- letters[6:10] > dat <- data.frame(a, b, c, d) > dat a b c d 1 1 a A f 2 2 b B g 3 3 c C h 4 4 d D i 5 5 e E j > subset(dat, select = b) ## 提取b列 b 1 a 2 b 3 c 4 d 5 e > subset(dat, select = c(a, c)) ## 提取a,c列 a c 1 1 A 2 2 B 3 3 C 4 4 D 5 5 E
3、%in%in实现
> a <- 1:5 > b <- letters[1:5] > c <- LETTERS[1:5] > d <- letters[6:10] > dat <- data.frame(a, b, c, d) > dat a b c d 1 1 a A f 2 2 b B g 3 3 c C h 4 4 d D i 5 5 e E j > dat[, colnames(dat) %in% "b"] ## 提取b列 [1] "a" "b" "c" "d" "e" > dat[, colnames(dat) %in% c("a", "c")] ## 提取a、c列 a c 1 1 A 2 2 B 3 3 C 4 4 D 5 5 E
4、grep、grepl实现
> a <- 1:5 > b <- letters[1:5] > c <- LETTERS[1:5] > d <- letters[6:10] > dat <- data.frame(a, b, c, d) > dat a b c d 1 1 a A f 2 2 b B g 3 3 c C h 4 4 d D i 5 5 e E j > dat[, grep("b", colnames(dat))] ## 提取b列 [1] "a" "b" "c" "d" "e" > dat[, grep("b|c", colnames(dat))] ## 提取b、c列 b c 1 a A 2 b B 3 c C 4 d D 5 e E > dat[, grepl("c", colnames(dat))] ## 提取c列 [1] "A" "B" "C" "D" "E" > dat[, grepl("a|c", colnames(dat))] ## 提取a、c列 a c 1 1 A 2 2 B 3 3 C 4 4 D 5 5 E
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-05-09 python中global关键字实现在函数内部对全局变量进行修改
2020-05-09 redhat7 配置Yun软件仓库
2020-05-09 《Linux就该这么学》学习笔记 04