![](/img/trans.png)
[英]how to run 2 way mixed anova with type 3 error using for loop in 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
我想知道col1
, col2
和col3
這三個組之間是否存在顯着差異。 對於這個問題,我猜測最好的方法是進行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.