1

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

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

跨多个变量的 Z 检验

这是我的尝试:

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()

输出下表:

 |              |              | #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 vs. 19.2 vs. 24.4 vs. 17.6 vs. 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>) 
4

1 回答 1

0

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


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

于 2020-07-14T22:39:52.247 回答