r - 删除变量中的混合数据
问题描述
我刚开始使用 R,我的数据如下所示:
Fruit Consumption
Apple High
Apple High
Orange High
Orange Low
Nut Low
Nut Low
我想删除那些混合消费的(橙色)。我首先尝试使用以下代码识别橙色,然后再将其删除。
df1 <- df %>% group_by(Fruit) %>% filter(Consumption =="High" & Consumption =="Low")
我不知道出了什么问题,但 R 返回零输出。我也尝试从“AND”更改为“OR”,但这次我得到了原始数据。请帮我!
提前非常感谢!
解决方案
您需要包装any
在filter
语句中以删除多次食用的水果。
library(dplyr)
df %>%
group_by(Fruit) %>%
filter(!(any(Consumption =="High") & any(Consumption =="Low")))
#Or
#filter(!all(c('High', 'Low') %in% Consumption))
Consumption
您还可以通过计算唯一值的数量来检测混合消耗。
df %>%
group_by(Fruit) %>%
filter(n_distinct(Consumption) == 1)
推荐阅读
- aws-lambda - 有什么方法可以从 AWS lambda(Node JS)禁用 *Alexa 卡*?
- python - 将 np.float64 对象除以 2 会使返回值的 dtype 为 np.float32 吗?
- javascript - 我无法使用函数通过 DOM 编辑(拼接)我的数组中的特定索引
- ios - iOS App with Swift5 与 ios 10.3 版本不兼容
- java - RabbitMQ - 只有一个队列,多个消费者接收不同的消息
- c - 何时需要函数原型中的常量指针(而不是指向常量的指针)才能使代码正确?
- spring-data-jpa - 如何使用 spring jpa 运行联合查询?
- javascript - 单击按钮后再次启动 setInterval
- c#-4.0 - 根据 C# 2019 中组合框中的值选择一个类
- unity3d - 从 .FBX 文件实例化和制作游戏对象会导致持久对象错误