R在数据框中按照要求提取指定行

我们这里的用到的是R自带的数据集iris

head(iris)

1 指定值

iris[iris$Species=="setosa",]

2 grep

iris[grep(pattern="setosa",iris$Species),]

gerp函数的使用如下:
grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE, fixed = FALSE, useBytes = FALSE, invert = FALSE)
各参数的含义如下:

  1. pattern: 字符串类型,正则表达式,指定搜索模式,当将fixed参数设置为TRUE时,也可以是一个待搜索的字符串。
  2. x : 字符串向量,用于被搜索的字符串。
  3. ignore.case: 是否忽略大小写。为FALSE时,不忽略大小写;为TRUE时,忽略大小写。
  4. perl: 用于指定是否Perl兼容的正则表达式。
  5. value:逻辑值,为FALSE时,grep返回搜索结果的位置信息,为TRUE时,返回结果位置的值。
  6. fixed:逻辑值,为TRUE时,按pattern指定的字符串进行原样搜索,且会忽略产生冲突的参数设置。
  7. useBytes:逻辑值,如果为真,则按字节进行匹配,而不是按字符进行匹配。
  8. invert:逻辑值,如果为TRUE,则返回未匹配项的索引或值。

3 which

library(tidyverse)
iris[which(iris$Species=="setosa"),]

4 subset

subset(iris,iris$Species=="setosa")

subset函数可以从向量、矩阵、数据框中提取子集
使用如下:
subset(x, subset, select, drop = FALSE, ...)

  1. x是数据框
  2. subset: 指示要保留的元素或行的逻辑表达式,将缺少的值视为false。
  3. select: 表达式,指示要从数据帧中选择的列,“-”表示删除列。
  4. drop: 传递给"["索引操作符。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容