R中如何提取数据框某列含指定值的所有行并生成新数据框
R筛选指定列值对应行的实现方案
方案1:基础R原生语法(适配你当前使用的书写习惯)
直接对sport列做字符串全等匹配即可,代码如下:
x <- data[data$sport == "football", ]
注意事项:
- 字符串匹配必须使用双等号
==做全等判断,不可写为单等号- 匹配的目标字符串
football需要用单/双引号包裹- 条件后的逗号不可省略,代表保留数据的所有列
运行后直接调用x即可输出你需要的结果。
- 额外修正提示:你之前给出的ID筛选代码逻辑和描述效果相反,若要筛选ID≥2的行,正确写法为
removen <- data[data$ID >= 2, ]
方案2:dplyr包语法(可读性更高的常用写法)
如果你习惯用tidyverse生态做数据处理,也可以用filter函数实现:
- 首次使用先安装依赖包:
install.packages("dplyr") - 运行筛选代码:
library(dplyr) x <- data %>% filter(sport == "football")
内容的提问来源于stack exchange,提问作者Jamie McGrath
相关产品推荐
相关产品推荐

