簡體   English   中英

如何在R中運行一種方差分析

[英]How to run one way ANOVA in R

我有一個像這樣的數據集:

> print(mydata)
                col1                 col2                col3
1               0.819               0.851               0.874
2               0.972               0.703               0.821
3               0.891               0.790               0.951
4               0.839               0.799               0.819

我想知道col1col2col3這三個組之間是否存在顯着差異。 對於這個問題,我猜測最好的方法是進行anova測試。

請在下面找到我用於生成數據集,運行測試的腳本以及R顯示的錯誤:


> mydata <- data.frame(col1, col2, col3)
> accuracymetrics <- as.vector(mydata)
> anova(accuracymetrics)

UseMethod(“ anova”)中的錯誤:沒有適用於適用於“ data.frame”類對象的'anova'方法

這是我第一次在R中運行這樣的分析,所以如果這個問題對論壇不感興趣,請多多包涵。 解決該錯誤的任何輸入表示贊賞!

如果我正確地理解了您的意思,那么您所說的三組就是數據中的三列。 如果是這種情況,您需要做兩件事:

首先,將您的數據從寬格式更改為長格式,使其看起來像這樣

group | value
------------
grp1  | 0.819
grp1  | 0.972

使用tidyr包可以輕松完成此tidyr

library(tidyr)
longdata <- gather(mydata, group, value)

第二:你必須使用aov來代替anova

res.aov <- aov(value ~ group, data = longdata)
summary(res.aov)

在這里您可以找到更多詳細信息。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM