0

以下のように、一連のデータの独立性をテストしたいと思います。再現可能な例:

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)
4

0 に答える 0