R语言 查找字符值的平均值(按另一个变量分组)

6l7fqoea  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(111)

我有一些问题,寻找字符变量的平均值(由另一个变量分组)。
在下面的示例数据中,如何求出按Class分组的Apple的平均值?

> dput(df)
structure(list(Class = c(1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L), 
    Fruit = c("Apple", "Banana", "Banana", "Apple", "Banana", 
    "Apple", "Apple", "Banana", "Banana")), class = "data.frame", row.names = c(NA, 
-9L))
llycmphe

llycmphe1#

如果我们需要"Apple"的比例,请在逻辑向量上使用mean

library(dplyr) # version >= 1.1.0
df %>%
   reframe(prop_apple = mean(Fruit == 'Apple'), .by = 'Class')
  • 输出
Class prop_apple
1     1        0.4
2     0        0.5

或适用于以前的版本

df %>%
   group_by(Class) %>%
   summarise(prop_apple = mean(Fruit == "Apple"), .groups = 'drop')
  • 输出
# A tibble: 2 × 2
  Class prop_apple
  <int>      <dbl>
1     0        0.5
2     1        0.4

相关问题