以下のように、一連のデータの独立性をテストしたいと思います。再現可能な例:
income <- c("q1","q2","q3","q4","q5","q1","q2","q3","q4","q5","q1","q2","q3","q4","q5","q1","q2","q3","q4","q5")
v1 <- as.numeric(round(runif(20,40,60),2))
v2 <- as.numeric(round(runif(20,10,20),2))
v3 <- as.numeric(round(runif(20,100,200),2))
v4 <- as.numeric(round(runif(20,0,20),2))
df <- as.data.frame(cbind(income,v1,v2,v3,v4))
income v1 v2 v3 v4
1 q1 47.78 18.7 148.75 14.15
2 q2 59.22 19.95 141.65 2.63
3 q3 58.34 14.96 169.94 20
4 q4 40.35 12.28 143.82 12.14
5 q5 59.72 17.14 191.72 10.66
6 q1 59.44 10.32 128.23 1
7 q2 47.65 13.87 187.51 5.74
...
異なる所得グループ (q1-q5) 間で v1、v2、v3、および v4 の独立性をテストしたい
それは次のようになるはずです
income v1 v2 v3 v4 p-value
q1 mean.v1.q1 mean.v2.q1 mean.v3.q1 mean.v4.q1
q2 mean.v1.q2 mean.v2.q2 mean.v3.q2 mean.v4.q2
q3 mean.v1.q3 mean.v2.q3 mean.v3.q3 mean.v4.q3
q4 mean.v1.q4 mean.v2.q4 mean.v3.q4 mean.v4.q4
q5 mean.v1.q5 mean.v2.q5 mean.v3.q5 mean.v4.q5
テスト結果を得るには ANOVA を適用する必要があると思いますが、方法がわかりません。誰でも助けることができますか?
以下のスクリプトを思いつきましたが、これは正しい方法ですか? 改善することはありますか?ありがとうございました!
v1mean <- as.data.frame(tapply(v1,income,mean))
colnames(v1mean) <- "v1"
v2mean <- as.data.frame(tapply(v2,income,mean))
colnames(v2mean) <- "v2"
v3mean <- as.data.frame(tapply(v3,income,mean))
colnames(v3mean) <- "v3"
v4mean <- as.data.frame(tapply(v4,income,mean))
colnames(v4mean) <- "v4"
mean <- cbind(income=rownames(v1mean),v1mean,v2mean,v3mean,v4mean)
library(reshape)
mean <- melt(mean,id="income")
aov <- aov(value~variable + income,data=mean)
summary(aov)