首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用连续CDFs的ANOVA

使用连续CDFs的ANOVA
EN

Code Review用户
提问于 2015-08-06 13:37:11
回答 1查看 78关注 0票数 1

我有一个进行方差分析的程序,其细节可以在这份白皮书上查看。

我希望能够使例程可伸缩,以处理任意数量的组。下面是一个2组示例的R代码。如有任何见解或评论,敬请见谅。

部分时刻:

代码语言:javascript
复制
LPM<- function(degree,target,variable){
 sum((target - (variable[variable < target]))^degree)/length(variable)
}

UPM<- function(degree,target,variable){
 sum(((variable[variable > target]) - target)^degree)/length(variable)
}

阿诺瓦:

代码语言:javascript
复制
VN_ANOVA<- function(group1,group2){

  mean_of_means <- mean(c(mean(group1),mean(group2)))

#Continuous CDF for each group from Mean of Means
  LPM_ratio_1 <- LPM(1,mean_of_means,group1)/
    (LPM(1,mean_of_means,group1)+UPM(1,mean_of_means,group1))

  LPM_ratio_2 <- LPM(1,mean_of_means,group2)/
    (LPM(1,mean_of_means,group2)+UPM(1,mean_of_means,group2))


#Continuous CDF Deviation from 0.5
  MAD_CDF<- mean(c(abs(LPM_ratio_1 - 0.5),abs(LPM_ratio_2 - 0.5)))


#Certainty associated with samples
  VN_ANOVA_rho <- (0.5 - MAD_CDF)/0.5


#Graphs  
  boxplot(list(group1,group2), las=2, names=c("Group 1","Group 2"), 
      xlab= "Means", horizontal = TRUE,
      col=c("grey","white"), main="ANOVA")

#For ANOVA Visualization      
  abline(v=mean_of_means,col="red",lwd=4)
  text(mean_of_means,pos=4, 2.5, "Mean of means", col = "red")


  return(c("Certainty of Same Population"=VN_ANOVA_rho))

}
EN

回答 1

Code Review用户

发布于 2015-08-18 13:53:54

根据这个问题的答案,将变量存储到矩阵中是可行的。

代码语言:javascript
复制
VN_ANOVA<- function(A){

  mean_of_means <- mean(colMeans(A))
  n<- ncol(A)

  LPM_ratio = numeric(0L)
  MAD_CDF = numeric(0L)


#Continuous CDF for each variable from Mean of Means  
  for (i in 1:n){
      LPM_ratio[i] <- LPM(1,mean_of_means,A[,i])/
                 (LPM(1,mean_of_means,A[,i])+UPM(1,mean_of_means,A[,i]))

#Continuous CDF Deviation from 0.5
      MAD_CDF[i]<- abs(LPM_ratio[i] - 0.5)
      }

  Mean_MAD_CDF <- mean(MAD_CDF)


#Certainty associated with samples
  VN_ANOVA_rho <- (0.5 - Mean_MAD_CDF)/0.5


#Graphs  
  boxplot(A, las=2, xlab= "Means", horizontal = TRUE,
       main="ANOVA", col=rainbow(n))


#For ANOVA Visualization      
  abline(v=mean_of_means,col="red",lwd=4)
  text(mean_of_means,pos=4, .25,"Mean of means", col = "red")


  return(c("Certainty of Same Population"=VN_ANOVA_rho))

}
票数 1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/99194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档