You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何过滤数据集,仅保留选定州的对应数据条目?

R筛选指定州数据的问题解决

问题根因

  • 你的Birth.State列所有取值的开头带有大量多余空白字符,直接完全匹配"New Jersey"会命中失败
  • 你使用filter(c,grep('New Jersey',Birth.State))的语法不规范:filter第二个参数需要传入逻辑向量,而grep默认返回匹配到的行下标;同时不要用c作为数据框的变量名,c是R内置的拼接函数,命名冲突会引发未知报错

解决方法

方法1:先清洗空白再完全匹配(准确性最高,推荐)

先清除Birth.State列的首尾空白,再做等值匹配,避免其他包含New Jersey字段的无关内容被误匹配:

library(dplyr)
library(stringr)

# 把代码里的df替换为你自己的数据集变量名即可
result <- df %>% 
  mutate(Birth.State = str_trim(Birth.State)) %>% 
  filter(Birth.State == "New Jersey")

方法2:直接模糊匹配

如果不需要严格校验内容,直接用模糊匹配即可命中所有包含New Jersey字段的行:

# dplyr写法
result <- df %>% 
  filter(str_detect(Birth.State, "New Jersey"))

# 基础R写法
result <- df[grepl("New Jersey", df$Birth.State), ]

内容的提问来源于stack exchange,提问作者Zachqwerty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:57:02