仅对包含分类级别的变量使用“tidyverse”获取使用和响应的平均值

Posted

技术标签:

【中文标题】仅对包含分类级别的变量使用“tidyverse”获取使用和响应的平均值【英文标题】:get averages of use and response with 'tidyverse' only for variables containing categorical levels 【发布时间】:2021-08-08 02:59:19 【问题描述】:

我想得到:

    按实践名称划分的平均门户使用率 按实践名称划分的平均响应率

当我有分类变量时,我对如何得到这个有点困惑。我只想通过 'tidyverse' 库来实现这一点。

这是我拥有的数据示例:

   A tibble: 17 x 2
   practice_name portal_use
   <chr>         <chr>     
 1 il            Yes       
 2 il            Yes       
 3 il            No        
 4 il            NA        
 5 ol            Yes       
 6 ol            Yes       
 7 ol            No        
 8 ol            No        
 9 ol            NA        
10 ol            NA        
11 al            Yes       
12 al            Yes       
13 al            Yes       
14 al            No        
15 al            NA        
16 al            NA        
17 al            NA    

使用 dput 我的数据看起来像:

  structure(list(practice_name = c("il", "il", "il", "il", "ol", 
    "ol", "ol", "ol", "ol", "ol", "al", "al", "al", "al", "al", "al", 
    "al"), portal_use = c("Yes", "Yes", "No", NA, "Yes", "Yes", "No", 
    "No", NA, NA, "Yes", "Yes", "Yes", "No", NA, NA, NA)), row.names = c(NA, 
    -17L), class = c("tbl_df", "tbl", "data.frame"))

【问题讨论】:

【参考方案1】:

也许这有帮助

library(dplyr)
library(tidyr)
df1 %>%
   pivot_longer(cols = everything()) %>%
   count(name, value) %>% 
   group_by(name) %>%
   mutate(n = n/sum(n))

【讨论】:

以上是百分比——但我需要每个练习名称的使用平均值——这意味着回答“是”的人的平均值。其次,我需要门户使用的平均响应 - 记住我有 NA @GaB 我不确定你的期望是什么。【参考方案2】:

你想要这个吗?

> table(df)
             portal_use
practice_name No Yes
           al  1   3
           il  1   2
           ol  2   2

> prop.table(table(df))
             portal_use
practice_name         No        Yes
           al 0.09090909 0.27272727
           il 0.09090909 0.18181818
           ol 0.18181818 0.18181818

【讨论】:

这些是百分比还是平均值?这些似乎是百分比。 @GaB 是百分比。你想要什么平均值?你能显示预期的输出吗?

以上是关于仅对包含分类级别的变量使用“tidyverse”获取使用和响应的平均值的主要内容,如果未能解决你的问题,请参考以下文章

仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“Int64Index”实例

我可以仅对多个 dtype 的 DataFrame 中的数字数据使用 K-Means 吗?

分离散点图并添加线

R - 获取数据库列列表的函数

如何获得R中分类变量的最频繁级别

更改逻辑回归中分类预测变量的参考组