繁体   English   中英

有没有办法纠正由 R 中的对照组引起的偏斜?

[英]Is there a way to correct for skewness caused by the control group in R?

我正在使用一个研究数据集,我们将成群的小鱼暴露在压力源中,然后在不同的时间点对它们进行采样,以了解它们的皮质醇(压力荷尔蒙)水平如何随时间变化。 我们在时间 0 进行采样以进行对照(在引入压力源之前),以及在压力源暴露后 15、30 和 60 分钟进行采样。 对鱼进行分组,以便一次对整个组(子箱)进行采样,以减少对鱼的混杂压力,但在暴露前从每组中抽取对照样品以形成基础皮质醇水平。

我遇到的问题是,与我们的所有三个治疗组相比,我们的对照组(在时间 0)的皮质醇值显着降低,这使我们的数据向右倾斜。 我已经在 R 中对包含控件的数据进行了对数、平方、倒数和立方根转换,并且从未能够在 alpha=0.05 内校正正态性,但我已经接近了。 如果没有控制数据,我们的治疗数据是正态分布的,所以我觉得应该有一种方法可以在统计上解决这个问题而不删除它?

有谁知道在 R 中以统计合理的方式解决这个问题的任何参数方法? 最终目标是运行方差分析,因此如果参数方法不起作用,任何接近等效的非参数建议将不胜感激!

非参数方差分析方法:

如果您想要一种非参数方法,理论上您可以只运行 Kruskall-Wallis ANOVA。

# Load libraries:
library(tidyverse)
library(rstatix)

# Run Kruskal on PlantGrowth dataset in R:
res.kruskal <- PlantGrowth %>%
  kruskal_test(weight ~ group)
res.kruskal

如果您打印 res.kruskal 部分,这将为您提供以下结果:

  .y.        n statistic    df      p method        
* <chr>  <int>     <dbl> <int>  <dbl> <chr>         
1 weight    30      7.99     2 0.0184 Kruskal-Wallis

转换方法:

如果您想尝试它们,还有其他方法可以纠正 R 中的偏斜,尽管我不熟悉您的数据或者这些方法是否适用:

# Right skewed data:
x <- c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,3,4,5,6,7,8,9)

# Visualize data:
hist(x)

在此处输入图像描述

中等转变:

# Right skew moderate transformations:
sqrt(x)

# Visualize mod transform:
hist(sqrt(x))

在此处输入图像描述

更大的转变:

# Right skew greater transformation:
log10(x)

# Visualization great transform:
hist(log10(x))

在此处输入图像描述

极端转变:

# Right skew extreme transformation:
1/x

# Visualize extreme transform:
hist(1/x)

在此处输入图像描述

暂无
暂无

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

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