我是一个R的初学者,所以为错误道歉,并感谢您的帮助。
我有一个数据集(肝脏),其中行是患者ID编号,列包括患者居住的区域(伦敦、约克郡等)以及患者在哪个单位接受治疗(医院名称)。有些病房是私人病房。我已经确认了120名来自伦敦的病人,其中100人在三个私人病房接受治疗。我想删除在私人病房接受治疗的100名伦敦患者,但我总是意外地删除在私人病房接受治疗的所有患者(大约900名病人)。我很感激你的建议,告诉我如何把伦敦的病人从私人诊所里移走。
我已经尝试了各种组合使用子集和过滤器与不同的感叹号和括号在不同的地方,包括例如:
liver <- filter(liver, region_name != "London" & unit_name!="Primrose Hospital" & unit_name != "Oak Hospital" & unit_name != "Wilson Hospital")
非常感谢。
2条答案
按热度按时间zsohkypk1#
您的
unit_name
条件正在将结果置零。请尝试使用match
函数,该函数更常见的中缀形式为%in%
:也可以使用逗号分隔逻辑AND条件。
qjp7pelc2#
在Pariksheet良好开端的基础上再接再厉(仍然丢弃伦敦以外的私立医院患者)。这里我们需要在filter函数中使用OR
|
运算符。我制作了一个示例 Dataframe ,演示如何在您的情况下使用该运算符。示例tibble包含您的三家私立伦敦医院和一家我们想要保留的非私立医院。另外,它有曼彻斯特的病人,他们同时在曼奇和一家私立医院就诊,我们都想留住他们。编辑:现在包括字符向量,以允许泛化的组合排除。