比较 expss 表中的两个变量(都是数字或两个因子)

Compare two variables (both numeric or both factors) in expss tables

我正在越来越深入地挖掘 expss 包,并面对此处提到的示例之一 --> https://gdemin.github.io/expss/#example_of_data_processing_with_multiple-response_variables(尤其是本节的最后 table。

考虑以下数据帧:

vecA <- factor(c(rep(1,10),rep(2,10),rep(3,10),rep(4,10),rep(5,10)),levels=c(1,2,3,4,5))
vecB <- factor(c(rep(1,20),rep(2,20),rep(NA,10)),levels=c(1,2,3,4,5))
df_fact <- data.frame(vecA, vecB)

vecA_num <- as.numeric(c(rep(1,10),rep(2,10),rep(3,10),rep(4,10),rep(5,10)))
vecB_num <- as.numeric(c(rep(1,20),rep(2,20),rep(NA,10)))
df_num <- data.frame(vecA, vecB)

严格复制建议的代码(上面的 URL),这是我的 table 的样子:

df_fact %>%
  tab_cols(total(label = "#Total| |")) %>% 
  tab_cells(list(vecA)) %>%
  tab_stat_cpct(label="vecA", total_row_position="above", total_statistic="u_cases") %>%
  tab_cells(list(vecB)) %>% 
  tab_stat_cpct(label="vecB", total_row_position="above", total_statistic="u_cases") %>%
  tab_pivot(stat_position = "inside_columns") %>%  
  recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy)

带有数字示例的过程略有不同:

df_num %>%
  tab_cols(total(label = "#Total| |")) %>% 
  tab_cells(vecA_num, vecB_num) %>%
  tab_stat_valid_n(label = "Valid N") %>%
  tab_stat_mean(label="Mean") %>%
  tab_pivot(stat_position = "inside_columns") %>%  
  recode(as.criterion(is.numeric) & is.na ~ 0, TRUE ~ copy) %>%
  tab_transpose()

问题从这里开始,因为这些复杂的构造是……复杂的!

1) 我想包括 tab_last_sig* 函数族,但我不知道该怎么做(当变量是因子时可能 subtotals/nets)

2) 包括多项统计数据(案例、百分比、均值...)是一个挑战

3) 最后,我不清楚我应该在哪里写统计名称/变量名称

我还没有找到这些构造的详细文档,因此将此消息保存在瓶子里 :)

  1. 很遗憾,目前只支持独立样本的显着性检验。在您的示例中,您希望比较相关样本的统计数据。您可以 运行 计算独立比例的显着性,但结果会不准确。
  2. 包括多个统计信息并不困难 - 您只需按顺序写入 tab_stat_。但是复杂的 table 布局确实是一个挑战:(
  3. 统计的变量名总是应该写在tab_cells中。之后,您可以使用 tab_stat_meantab_stat_cpct 等编写统计函数。您可以通过在 R 控制台中打印 ?tab_pivot 来查找文档。这是获取 R 函数手册的标准方法。