如何成为一个数据集才能在 R 中执行方差分析测试?

How is have to be a dataset to perform an ANOVA test in R?

我有三列,每组一列,带有数值。我想使用 Anova 测试来分析它们,但是当您在一列中有不同的组并且在第二列中有相应的值时,我发现了应用程序。我想知道是否有必要像这样重新排序数据,或者是否有一种方法可以用于我当前拥有的列。在这里我附上了一张截图:

谢谢!

您可以通过旋转数据将具有许多列的宽 table 转换为只有键(组)和值(响应)两列的另一个 table:

library(tidyverse)

# create example data
set.seed(1337)
data <- tibble(
  VIH = runif(100),
  VIH2 = runif(100),
  VIH3 = runif(100)
)
data
#> # A tibble: 100 × 3
#>       VIH   VIH2   VIH3
#>     <dbl>  <dbl>  <dbl>
#>  1 0.576  0.485  0.583 
#>  2 0.565  0.495  0.108 
#>  3 0.0740 0.868  0.350 
#>  4 0.454  0.833  0.324 
#>  5 0.373  0.242  0.915 
#>  6 0.331  0.0694 0.0790
#>  7 0.948  0.130  0.563 
#>  8 0.281  0.122  0.287 
#>  9 0.245  0.270  0.419 
#> 10 0.146  0.488  0.838 
#> # … with 90 more rows

data %>%
  pivot_longer(everything()) %>%
  aov(value ~ name, data = .)
#> Call:
#>    aov(formula = value ~ name, data = .)
#> 
#> Terms:
#>                      name Residuals
#> Sum of Squares   0.124558 25.171730
#> Deg. of Freedom         2       297
#> 
#> Residual standard error: 0.2911242
#> Estimated effects may be unbalanced

reprex package (v2.0.0)

于 2022-05-10 创建