繁体   English   中英

尝试使用 tidy 进行功率分析并使用 clmm2

[英]Trying to use tidy for a power analysis and using clmm2

我正在尝试对我正在进行的 clmm2 分析进行功效分析。 这是特定统计模型的代码:

test <- clmm2(risk_sensitivity ~ treat + sex + dispersal + 
sex*dispersal + treat*dispersal + treat*sex,random = id, data = datasocial, Hess=TRUE)

现在,我有以下功能:

sim_experiment_power <- function(rep) {
  s <- sim_experiment(n_sample = 1000,
                      prop_disp = 0.10,
                      prop_fem = 0.35,
                      disp_probability = 0.75,
                      nondisp_probability = 0.90,
                      fem_probability = 0.75,
                      mal_probability = 0.90)
  broom.mixed::tidy(s) %>%
    mutate(rep = rep)
}
my_power <- map_df(1:10, sim_experiment_power)

函数 sim_experiment 的细节不相关,因为它们按预期工作。 要知道的重要一点是它会产生统计 clmm2 结果。 我对上述功能的目标是进行功效分析。 但是,我收到以下错误:

错误:类 clmm2 的对象没有整洁的方法

我对 R 有点陌生,但我想这意味着 tidy 不适用于 clmm2。 有谁知道这个问题的解决方法?

编辑:这是我上面发布的代码之后的内容,这最终是我想要得到的。

然后,您可以绘制整个模拟中的估计分布。

ggplot(my_power, aes(estimate, color = term)) +
  geom_density() +
  facet_wrap(~term, scales = "free")

您也可以将功效计算为小于 alpha 的 p 值的比例。

my_power %>%
  group_by(term) %>%
  summarise(power <- mean(p.value < 0.05))

根据您的需要,您可以编写一个函数来返回具有相同列名的系数:

library(ordinal)
library(dplyr)
library(purrr)

tidy_output_clmm = function(fit){
  results = as.data.frame(coefficients(summary(fit)))
  colnames(results) = c("estimate","std.error","statistic","p.value")
  results %>% tibble::rownames_to_column("term")
}

然后我们使用一个示例来应用它,我按顺序对葡萄酒数据集进行采样:

sim_experiment_power <- function(rep) {
  idx = sample(nrow(wine),replace=TRUE)
  s <- clmm2(rating ~ temp, random=judge, data=wine[idx,], nAGQ=10,Hess=TRUE)
  tidy_output_clmm(s) %>% mutate(rep=rep)
}

my_power <- map_df(1:10, sim_experiment_power)

绘图工作:

ggplot(my_power, aes(estimate, color = term)) +
  geom_density() +
  facet_wrap(~term, scales = "free")

在此处输入图片说明

权力也是如此:

my_power %>% group_by(term) %>% summarise(power = mean(p.value < 0.05))
    # A tibble: 5 x 2
  term     power
  <chr>    <dbl>
1 1|2        0.9
2 2|3        0.1
3 3|4        1  
4 4|5        1  
5 tempwarm   1  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM