expss 包中的显着性测试行

Significance testing rows in expss package

使用 expss 包,是否可以 运行 对 5 个不同的二进制变量进行 z 检验?我想出了如何使用 tab_cols 参数对不同列中的单个变量进行 运行 显着性测试,但在这种情况下我没有任何列。我想将我正在测试的 5 个变量视为 5 个不同的列(A、B、C、D、E)和 运行 所有可能组合的 z 测试。

如果A列的比例明显大于B列的比例,那么我希望A列在百分比后面显示字母“B”,如下所示:

Z-tests across multiple variables

这是我的尝试:

data %>%
    tab_cells(reaction_1_5, reaction_2_5, reaction_3_5, reaction_4_5, reaction_5_5) %>%
    tab_stat_cpct()  %>%
    tab_last_sig_cpct() %>% 
    tab_pivot()

输出如下table:

 |              |              | #Total |
 | ------------ | ------------ | ------ |
 | reaction_1_5 |            0 |   84.3 |
 |              |            1 |   15.7 |
 |              | #Total cases |    381 |
 | reaction_2_5 |            0 |   80.8 |
 |              |            1 |   19.2 |
 |              | #Total cases |    381 |
 | reaction_3_5 |            0 |   75.6 |
 |              |            1 |   24.4 |
 |              | #Total cases |    381 |
 | reaction_4_5 |            0 |   82.4 |
 |              |            1 |   17.6 |
 |              | #Total cases |    381 |
 | reaction_5_5 |            0 |   78.2 |
 |              |            1 |   21.8 |
 |              | #Total cases |    381 |

我认为 tab_last_sig_cpct 函数不起作用,因为它计算跨列的 z 检验,而我只有一个列。我想测试我的 5 个变量中 1 的比例(15.7 对 19.2 对 24.4 对 17.6 对 21.8)的所有可能组合。

这可以在 expss 包中实现吗?

这是我使用的数据:

structure(list(reaction_1_5 = c(0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L,0L, 0L), reaction_2_5 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,1L), reaction_3_5 = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L),reaction_4_5 = c(0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L),reaction_5_5 = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L)), row.names = c(NA,-10L), class = c("tbl_df", "tbl", "data.frame"), .internal.selfref = <pointer: 0x7fc3b38106e0>) 

可以并排组合变量,如您的示例所示:


library(expss)
data = structure(
    list(
        reaction_1_5 = c(0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L,0L, 0L), 
        reaction_2_5 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,1L), 
        reaction_3_5 = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L),
        reaction_4_5 = c(0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L),
        reaction_5_5 = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L)
    ), 
    row.names = c(NA,-10L), 
    class = "data.frame"
)

data %>%
    stack() %>% 
    tab_cells("|" = values) %>% # "|" to suppress variable names
    tab_cols("|" = ind)  %>%
    tab_stat_cpct() %>% 
    tab_pivot() %>% 
    significance_cpct()

# |              | reaction_1_5 | reaction_2_5 | reaction_3_5 | reaction_4_5 | reaction_5_5 |
# |              |            A |            B |            C |            D |            E |
# | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ |
# |            0 |         70.0 |         80.0 |         90.0 |         80.0 |         80.0 |
# |            1 |         30.0 |         20.0 |         10.0 |         20.0 |         20.0 |
# | #Total cases |           10 |           10 |           10 |           10 |           10 |

但是significance_cpct提供独立样本的统计检验。但是,您的百分比是在同一样本上计算的。所以我们需要对相关样本进行检验。到目前为止,expss.

中还没有这样的比例测试