我有一個數據集,其中有18個數據集。每個人都有幾個人,每個人都有一個「彩色」的呼叫。我只想用人口作爲主要因素以單因素方差分析(One-way ANOVA)一次比較兩個種羣,以獲得兩兩結合的MS-內和MS-間。如何進行迭代ANOVA並從R中的lm對象中提取均方值
我知道如何從總括ANOVA使用以下代碼提取MS:
mylm <- lm(Color ~ Pop, data=PopColor)
anova(mylm)[["Mean Sq"]]
其產生中-受試者第一MS(PopColor $ POP),則受試者之間-MS(剩餘)分別爲:
[1] 3.7079911 0.4536985
- 是否有,我可以創造一個do循環做全配單因素方差分析所有人羣之間,然後抽取中並在MS的方法嗎?
- 然後,我想將每個比較中的兩個MS值移到它們自己的對稱矩陣上:一個羣體標記的受試者MS矩陣和一個羣體標記的受試者MS矩陣。這些將具有與人口名稱相同的列和行名稱。
下面是我的數據有6個種羣的一個子集:
dput(dat)
structure(list(Pop = structure(c(6L, 6L, 6L, 6L, 6L, 6L, 6L,
6L, 6L, 6L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("pop1001", "pop1026",
"pop252", "pop254a", "pop311", "pop317"), class = "factor"),
Color = c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L,
3L, 3L, 2L, 3L, 3L, 3L, 2L, 2L, 2L, 1L, 3L, 3L, 2L, 3L, 2L,
3L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 3L, 3L, 2L, 3L, 3L, 2L,
3L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 3L, 4L,
2L, 3L, 2L, 4L, 3L, 3L, 2L, 3L, 2L, 3L, 3L, 4L, 3L, 2L, 4L,
4L, 1L, 2L, 2L, 2L, 2L, 1L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 3L,
2L, 3L, 4L, 2L, 2L, 4L, 3L)), .Names = c("Pop", "Color"), class = "data.frame", row.names = c(NA,
-94L))
任何幫助將不勝感激!謝謝!
歡迎來到SO。我格式化了一些你的問題。請閱讀如何格式化問題的幫助。格式良好的問題通常會得到最好的答案。 – agstudy
感謝您重新格式化我的問題agstudy! – Ros1920
你可能使用'multcomp'軟件包更好,它也可以糾正多重比較。 – hadley