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

R语言中如何仅移除伦敦地区私立医院就诊的患者数据?

正确筛选方法及错误原因解析

错误原因

你原来的代码用&串联所有条件,逻辑变成了只保留既不是伦敦地区,同时也不在这三家私立医院的患者——这会把其他地区在这三家医院就诊的患者也一并删掉,所以才会误删约900条数据。

正确代码实现

方法一:保留符合任一条件的行

筛选逻辑:要么患者不是伦敦地区,要么是伦敦地区但不在目标私立医院就诊

library(dplyr)

# 先定义要排除的三家私立医院列表,更简洁
target_hospitals <- c("Primrose Hospital", "Oak Hospital", "Wilson Hospital")

liver <- filter(liver, region_name != "London" | !(unit_name %in% target_hospitals))

方法二:直接排除目标行

筛选逻辑:移除「伦敦地区 + 在目标私立医院就诊」的行,保留其余所有行

liver <- filter(liver, !(region_name == "London" & unit_name %in% target_hospitals))

补充说明

%in%是R里的便捷运算符,用来判断某个值是否在指定列表中,比写多个unit_name != "xxx"更简洁易维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:50:39