R语言中提取以指定字符开头、或指定字符结尾的行

 

1、提取以指定字符开头的行

> a <- c("abc", "axy", "123", "axy", "mnp")
> b <- c("dse", "bcd", "ee4", "sdb", "345")
> c <- c("mcy", "873", "345", "egs", "dfe")
> dat <- data.frame(a, b, c)
> dat                                      ## 测试数据框
    a   b   c
1 abc dse mcy
2 axy bcd 873
3 123 ee4 345
4 axy sdb egs
5 mnp 345 dfe
> dat[grep("^a", dat[,1]),]               ## 提取第一列以a开头的行
    a   b   c
1 abc dse mcy
2 axy bcd 873
4 axy sdb egs
> dat[grep("^m", dat[,1]),]               ## 提取第一列以m开头的行
    a   b   c
5 mnp 345 dfe

 

2、提取以指定字符结尾的行

> a <- c("abc", "axy", "123", "axy", "mnp")
> b <- c("dse", "bcd", "ee4", "sdb", "345")
> c <- c("mcy", "873", "345", "egs", "dfe")
> dat <- data.frame(a, b, c)
> dat                                      ## 测试数据框
    a   b   c
1 abc dse mcy
2 axy bcd 873
3 123 ee4 345
4 axy sdb egs
5 mnp 345 dfe
> dat[grep("y$", dat[,1]),]                ## 提取第一列以y结尾的行
    a   b   c
2 axy bcd 873
4 axy sdb egs
> dat[grep("p$", dat[,1]),]                ## 提取第一列以p结尾的行
    a   b   c
5 mnp 345 dfe
> dat[grep("[cp]$", dat[,1]),]             ## 提取第一列以c或者p结尾的行
    a   b   c
1 abc dse mcy
5 mnp 345 dfe

 

3、提取指定列以特定字符开头或者结尾的行

> a <- c("abc", "axy", "123", "axy", "mnp")
> b <- c("dse", "bcd", "ee4", "sdb", "345")
> c <- c("mcy", "873", "345", "egs", "dfe")
> dat <- data.frame(a, b, c)
> dat
    a   b   c
1 abc dse mcy
2 axy bcd 873
3 123 ee4 345
4 axy sdb egs
5 mnp 345 dfe
> dat[grep("^e", dat[,2]),]                     ## 提取第二列中以e开头的行
    a   b   c
3 123 ee4 345
> dat[grep("^e", dat[,3]),]                     ## 提取第3列中以e开头的行
    a   b   c
4 axy sdb egs
> dat[grep("5$", dat[,2]),]
    a   b   c
5 mnp 345 dfe
> dat[grep("5$", dat[,3]),]
    a   b   c
3 123 ee4 345

 

4、提取特定行中以指定字符开头的列

> a <- c("abc", "axy", "123", "axy", "mnp")
> b <- c("dse", "bcd", "ee4", "sdb", "345")
> c <- c("mcy", "873", "345", "egs", "dfe")
> dat <- data.frame(a, b, c)
> dat
    a   b   c
1 abc dse mcy
2 axy bcd 873
3 123 ee4 345
4 axy sdb egs
5 mnp 345 dfe
> dat[,grep("^m",dat[1,])]                ## 提取第一行中以m开头的列
[1] "mcy" "873" "345" "egs" "dfe"

 

posted @ 2022-05-09 12:06  小鲨鱼2018  阅读(7091)  评论(0编辑  收藏  举报