如何成为一个数据集才能在 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 创建
我有三列,每组一列,带有数值。我想使用 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 创建