首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带expss包的复杂表

带expss包的复杂表
EN

Stack Overflow用户
提问于 2020-03-31 19:15:41
回答 1查看 492关注 0票数 1

你好,所有expss专家(@Gregory,如果您读了这条消息!),在几天发现这个包之后,我实现了一些好的东西,但仍然努力与tab_*函数系列创建复杂的交叉,特别是创建具有显着性测试的组合。

让我们从参考手册中给出的一个例子开始:

代码语言:javascript
复制
library(expss)
mtcars %>%
  tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
  tab_cols(total(), vs, am) %>%
  tab_cells(cyl, gear) %>%
  tab_stat_cpct() %>%
  tab_last_add_sig_labels() %>%
  tab_last_sig_cpct() %>%
  tab_last_hstack("inside_columns") %>%
  tab_pivot(stat_position = "inside_rows")

从这一点开始,我不知道是否可以执行以下操作,如果可以的话,使用哪些脚本可以做到这一点:

1)用“fre”函数并行显示计数和百分比非常简单,但仅限于此目的。如何将这些案例添加到交叉表中?(以案例/百分比/测试的形式出现在3栏中)

2)默认情况下,此示例中的显着性测试输出为字母,为0.05级。这两个参数都可以更改。但是,是否可以在一个表计算中包含两个显着性级别?精神上的某物:

代码语言:javascript
复制
sig_level = c(0.01, 0.05)
sig_labels = c(LETTERS, letters)

最后(可能很容易),是否有可能强制显示零?我在frequencies=0中有因子级别,在基R表中用0显示。使用expss,标签保持不变,但行/列保持为空。

再说一遍,也许我所寻找的东西并不存在于费用之中,但至少我会确信它。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-02 00:16:30

你的第二点(两级重要性)现在是不可能的。但是,您可以在特殊准备的表上添加附加计算的二级显着性。1和3很容易:

代码语言:javascript
复制
library(expss)
data(mtcars)
mtcars %>%
    tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
    tab_cols(total(), vs, am) %>%
    tab_cells(cyl, gear) %>%
    # block for cases 
    tab_stat_cases(label = "cases") %>% 
    tab_last_add_sig_labels() %>%
    # block for percent statistic
    tab_stat_cpct(label = "%") %>% # percent
    tab_last_add_sig_labels() %>%
    tab_last_sig_cpct() %>%
    tab_pivot(stat_position = "inside_columns") %>% 
    # converts NA to zero
    recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy)

更新:您可以将链的部分指定为自定义函数,以避免重复:

代码语言:javascript
复制
library(expss)
data(mtcars)

### tab cols
my_banner = mtcars %>%
    tab_cols(total(), vs, am)

### table and formattig
my_custom_table = . %>% 
    tab_significance_options(keep = "none", sig_labels = NULL, subtable_marks = "greater", mode = "append") %>%
    # block for cases 
    tab_stat_cases(label = "cases") %>% 
    tab_last_add_sig_labels() %>%
    # block for percent statistic
    tab_stat_cpct(label = "%") %>% # percent
    tab_last_add_sig_labels() %>%
    tab_last_sig_cpct() %>%
    tab_pivot(stat_position = "inside_columns") %>% 
    # converts NA to zero
    recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy)

 ### here we build table
 my_banner %>%
    tab_cells(cyl, gear) %>%
    my_custom_table()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60958192

复制
相关文章

相似问题

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