首页 > 解决方案 > 如何找到过滤表的平均值

问题描述

我是 R 新手,但我无法获得我想要的结果。我有一张带有各种列的大桌子,其中一个是布尔值,我们称之为 HaveSalad,其中 1 = 菜单中有沙拉,0 = 菜单中没有沙拉。在另一列中,我有数值,我们称之为评分,它显示了我对这家餐厅的评分

当我过滤数据以仅显示 HaveSalad = 1 的餐厅时,我希望找到 Rating 的平均值。

当我尝试使用工具栏上的“过滤器”按钮将过滤器直接应用于表格时,我得到的只是与没有应用过滤器时得到的相同的平均值。我完全被难住了

标签: rrstudio

解决方案


我们可以用它==来创建一个逻辑向量并得到'Rating'的对应值并得到mean

with(df1, mean(Rating[HaveSalad == 1], na.rm = TRUE))

或与as.logical

with(df1, mean(Rating[as.logical(HaveSalad)], na.rm = TRUE))

推荐阅读