R/auxiliar_VS.R

Defines functions print.fregre.gsam.vs print.fregre.glm.vs print.select.gsam print.select.glm GCV AICc sp rsq p.signif AIC2 pvalue.anova dcor.y

# funciones del Script
# dcor.y
# dist.list
# AICc
# GCV
# print.select.glm
# print.select.gsam
# print.select.bgsam
################################################################################
dcor.y<-function(ldist,response,n,bcdcor=TRUE){
  lenldist<-length(ldist)
  namldist<-names(ldist)
  if (missing(n)) {
    if (is.fdata(ldist[[1]]) | is.matrix(ldist[[1]]|is.data.frame(ldist[[1]])) )
      n<-nrow(ldist[[1]])
    if (is.vector(ldist[[1]]))    n <- length(response)
  }
  
  if (missing(response)) {print("se calculan todas las distancias")
    dst<-diag(lenldist)
    for (i in 1:(lenldist-1)) {
      for (j in i:(lenldist)) {
        if (bcdcor)     dst[i,j]<-dst[j,i]<- bcdcor.dist(ldist[[i]],ldist[[j]],n=n)
        else            dst[i,j]<-dst[j,i]<-cor.fdist(ldist[[i]],ldist[[j]])
      }}
    
    rownames(dst)<-colnames(dst)<-namldist
  }
  else{                     #se calculan todas las distancias respecto la respuesta
    if (length(response)>1) stop("Incorrect response label")
    ii<-response==namldist
    if (sum(ii)==0) stop("Incorrect response label")
    iresponse<-which(ii)
    dst<-numeric(lenldist-1)
    predictors<-setdiff(namldist,response)
    
    for (i in 1:(lenldist-1)) {
      #           dst[i]<-cor.fdist(ldist[[response]],ldist[[predictors[i]]])
      if (bcdcor)  dst[i]<-bcdcor.dist(ldist[[response]],ldist[[predictors[i]]],n=n)
      else dst[i]<-dcor.dist(ldist[[response]],ldist[[predictors[i]]])
    }
    names(dst)<-predictors
  }
  dst
}
################################################################################

####################
#best.pc.dcor<- function(data,"x","y"){
#  dd=dcor.xy(ldata$df[[i]],res,n=n) #edf
#  dcor[j,i]=dd$estimate*(dd$p.value < pvalor)
#}
####################
pvalue.anova<- function(model1,model2){
  anova(model1,model2,test="F")
}

# AICc<-function(model){
#   suma<-summary(model)          
#   k<- sum(model$edf)#sum(suma$edf) 
#   n<-suma$n
#   return(AIC(model)+(2*k*(n+1))/(n-k+1))
# }
# 
AIC2<-function(model){
  return(AIC(model))
}

##############################################
#  modelo$gcv.ubre
##############################################
#GCV<-function(model){
#  return(a1$gcv.ubre)
#}
##############################################
p.signif<-function(model){
  rev(summary(model)$s.table[,4])[1] 
}
##############################################
rsq<-function(model){
  return(1-summary(model)$r.sq)
}
##############################################
sp<-function(model){
  # cat("entra SP criterio")
  aa<-summary(model)$sp.criterion
#  print(aa)
  return(aa)
  
}
#################################################
AICc<-function(model){
  suma<-summary(model)
  n<- length(model$residuals)
  if (any(class(model)=="glm")){
    k<- suma$df[1]
  }
  if (any(class(model)=="lm")){
    k<- suma$df[1]
  }
  if (any(class(model)=="fregre.glm")){
    k<- suma$df[1]
  }
  if (any(class(model)=="fregre.lm")){
    k<- suma$df[1]
  }
  if (any(class(model)=="fregre.gsam")){
    k<- sum(model$edf)#sum(suma$edf) 
   # print(n)
  }
  aux<-AIC(model)+(2*k*(n+1))/(n-k+1)
  #cat(k,n,AIC(model),aux," AICCCCCCCCCCCCCCCCCC  \n")
  return(aux)
}
#################################################
GCV<-function(model){
  model$gcv.ubre
}
#################################################

print.select.glm <- function(x,...){
  cat("\n Model selected:\n")
  print(x$model)
  cat("\n Stepwise GoF:\n")
  print(x$gof)
  cat("\n Predictor selected:\n")
  print(x$i.predictor)  
}


print.select.gsam <- function(x,...){
  cat("\n Model selected:\n")
  print(x$model)
  cat("\n Stepwise GoF:\n")
  print(x$gof)
  cat("\n Predictor selected:\n")
  print(x$i.predictor)  
}

# print.select.bgsam <- function(x,...){
#   #cat("\n Model selected:\n")
#   #print(x[[1]])
#   #cat("\n Stepwise GoF:\n")
#   #print(x[[2]])
#   cat("\n Predictor selected (by order):\n")
#   print(x[[4]])
#   cat("\n Model type selected (by order):\n")
#   summary(m3[[1]])
# }

#################################################

print.fregre.glm.vs<- function(x,...){
  cat("\n Model selected:\n")
  print(x$model)
  cat("\n Stepwise GoF:\n")
  print(x$gof)
  cat("\n Predictor selected:\n")
  print(x$i.predictor)  
}

print.fregre.gsam.vs <- function(x,...){
  cat("\n Model selected:\n")
  print(x$model)
  cat("\n Stepwise GoF:\n")
  print(x$gof)
  cat("\n Predictor selected:\n")
  print(x$i.predictor)  
}

Try the fda.usc package in your browser

Any scripts or data that you put into this service are public.

fda.usc documentation built on Oct. 17, 2022, 9:06 a.m.