首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跳过expss表中二分变量的“零”级别

跳过expss表中二分变量的“零”级别
EN

Stack Overflow用户
提问于 2019-08-30 22:20:15
回答 1查看 71关注 0票数 1

我想使用expss包为一些二分变量创建一个汇总表。由于变量是二分的,因此两个级别中的一个将足以“显示画面”。

我尝试使用函数tab_net_cell,但无法获得正确的结果。下面是一些带有1或0的BrCa (乳腺癌)的示例代码。我只想展示乳腺癌患者的数量,但不是没有乳腺癌的患者。

代码语言:javascript
复制
df <- data.frame(BrCa = c(1,1,1,0,0,0,NA,NA,0,0))
df$group <- c(1,2,1,2,1,2,1,2,1,2)

df %>% 
  expss::tab_cols(group) %>%
  expss::tab_cells(BrCa)  %>%
  expss::tab_stat_cpct(total_row_position = "none",label = "%") %>%
  expss::tab_stat_cases(total_row_position = "none",label = "N") %>%
  expss::tab_pivot(stat_position = "inside_rows") 


df %>% 
  expss::tab_cols(group) %>%
  expss::tab_cells(BrCa)  %>%
  expss::tab_net_cells("BrCa" = eq(1))  %>%
  expss::tab_stat_cpct(total_row_position = "none",label = "%") %>%
  expss::tab_stat_cases(total_row_position = "none",label = "N") %>%
  expss::tab_pivot(stat_position = "inside_rows") 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-30 23:18:53

最简单的方法是过滤结果表:

代码语言:javascript
复制
df <- data.frame(BrCa = c(1,1,1,0,0,0,NA,NA,0,0))
df$group <- c(1,2,1,2,1,2,1,2,1,2)

df %>% 
    expss::tab_cols(group) %>%
    expss::tab_cells(BrCa)  %>%
    expss::tab_stat_cpct(total_row_position = "none",label = "%") %>%
    expss::tab_stat_cases(total_row_position = "none",label = "N") %>%
    expss::tab_pivot(stat_position = "inside_rows") %>% 
    expss::where(grepl(1, row_labels))

另一种方法是使用mean和sum代替cpct和cases:

代码语言:javascript
复制
df %>% 
    expss::tab_cols(group) %>%
    expss::tab_cells(BrCa*100)  %>%
    expss::tab_stat_mean(label = "%") %>%
    expss::tab_stat_sum(label = "N") %>%
    expss::tab_pivot(stat_position = "inside_rows") 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57728512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档