[英]One-way ANOVA for loop: how do I iterate through multiple columns of a dataframe?
[英]One-way ANOVA for loop: how do I initiate through multiple colums of a dataframe
這是我第一次來這里,所以請 go 簡單。 我想運行超過 1000 種不同的單向方差分析我想看看來自單個 mirroRNA 的讀取數量是否在四個不同的組之間發生變化。 我希望從 1000 多個 miRNA 中的每一個中獲取。 我的 tibble dataframe 看起來像這樣:我有 4 個組(YC、OC、YH、OH),每列中有不同的 miRNA。
在此處輸入圖像描述我嘗試了一個 for 循環,我希望 R 遍歷 miRNA 的名稱,然后總結 ANOVA 表和 TukeyHSD 測試:
for(i in 2:ncol(test)){column<-names(test[i])AVz<-summary(aov(test[,i]~Group,data = test))tk<-TukeyHSD((aov( test[,i]~Group,data = test)))print(column)print(AVz)print(tk)}
但這不起作用:錯誤:“for(i in 2:ncol(test)){column<-names(test[i])AVz”中出現意外符號如果有人能幫助我,我將不勝感激
如果你想運行aov
你可以使用cbind
formula <- as.formula(paste0("cbind(", paste(names(iris)[-5], collapse = ","), ") ~ Species"))
fit <- aov(formula, data=iris)
summary(fit)
Response Sepal.Length :
Df Sum Sq Mean Sq F value Pr(>F)
Species 2 63.212 31.606 119.26 < 2.2e-16 ***
Residuals 147 38.956 0.265
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response Sepal.Width :
Df Sum Sq Mean Sq F value Pr(>F)
Species 2 11.345 5.6725 49.16 < 2.2e-16 ***
Residuals 147 16.962 0.1154
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response Petal.Length :
Df Sum Sq Mean Sq F value Pr(>F)
Species 2 437.10 218.551 1180.2 < 2.2e-16 ***
Residuals 147 27.22 0.185
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response Petal.Width :
Df Sum Sq Mean Sq F value Pr(>F)
Species 2 80.413 40.207 960.01 < 2.2e-16 ***
Residuals 147 6.157 0.042
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.