比较 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) 最后,我不清楚我应该在哪里写统计名称/变量名称
我还没有找到这些构造的详细文档,因此将此消息保存在瓶子里 :)
- 很遗憾,目前只支持独立样本的显着性检验。在您的示例中,您希望比较相关样本的统计数据。您可以 运行 计算独立比例的显着性,但结果会不准确。
- 包括多个统计信息并不困难 - 您只需按顺序写入
tab_stat_
。但是复杂的 table 布局确实是一个挑战:(
- 统计的变量名总是应该写在
tab_cells
中。之后,您可以使用 tab_stat_mean
、tab_stat_cpct
等编写统计函数。您可以通过在 R 控制台中打印 ?tab_pivot
来查找文档。这是获取 R 函数手册的标准方法。
我正在越来越深入地挖掘 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) 最后,我不清楚我应该在哪里写统计名称/变量名称
我还没有找到这些构造的详细文档,因此将此消息保存在瓶子里 :)
- 很遗憾,目前只支持独立样本的显着性检验。在您的示例中,您希望比较相关样本的统计数据。您可以 运行 计算独立比例的显着性,但结果会不准确。
- 包括多个统计信息并不困难 - 您只需按顺序写入
tab_stat_
。但是复杂的 table 布局确实是一个挑战:( - 统计的变量名总是应该写在
tab_cells
中。之后,您可以使用tab_stat_mean
、tab_stat_cpct
等编写统计函数。您可以通过在 R 控制台中打印?tab_pivot
来查找文档。这是获取 R 函数手册的标准方法。