R/predict.R

predict.test <- function(data){
  
  require(ggplot2)
  
  out <- rnorm(1, mean=0.5, sd = 0.2)
  
  while(out >=0.9 | out <= 0.1){ ## Lazy way to make sure out value is reasonable
    out <- rnorm(1, mean=0.5, sd = 0.2)
  }
  
  out.ci <- abs(rnorm(1, mean=0.2, sd = 0.2))
  
  ci.low <- max(out-out.ci,0)
  ci.high <- min(out+out.ci,1)
  
  varimp <- sample(qids,floor(runif(1, 1,6)))
  suggvar <- sample(qids,floor(runif(1, 1,6)))
  
  dist <- rnorm(1000, mean=0.5, sd = 0.2)
  dist <- dist[dist>0&dist<1]
  
  breaks <- quantile(dist, probs = seq(0, 1, .2))
  
  colors <- c("#0000FF","#00FF00","#FFFF00","#FFA500","#FF0000")
  
  color = colors[sum(out > breaks)]
  
  par(mar=c(0,0,0,0))
  
  conf <- ((1-out.ci)/1.5)
  
  print(ggplot2::ggplot() + theme_void() + theme(panel.background = element_rect(fill = color)))
  
  print(ggplot2::ggplot() + geom_density(aes(dist), fill = "grey") +
    geom_rect(aes(ymin= -Inf, ymax = Inf, xmin = ci.low,xmax = ci.high),alpha = conf, fill = color) +
    geom_vline(aes(xintercept = out)) +
    theme_void())
  
  return(list(out = out,ci.low = ci.low,ci.high = ci.high, color = color, varimp = varimp,suggvar = suggvar))

}

predict.debug <- function(...){
  
  require(ggplot2)
  
  out <- rnorm(1, mean=0.5, sd = 0.2)
  
  while(out >=0.9 | out <= 0.1){ ## Lazy way to make sure out value is reasonable
    out <- rnorm(1, mean=0.5, sd = 0.2)
  }
  
  out.ci <- abs(rnorm(1, mean=0.2, sd = 0.2))
  
  ci.low <- max(out-out.ci,0)
  ci.high <- min(out+out.ci,1)
  
  varimp <- sample(qids,floor(runif(1, 1,6)))
  suggvar <- sample(qids,floor(runif(1, 1,6)))
  
  dist <- rnorm(1000, mean=0.5, sd = 0.2)
  dist <- dist[dist>0&dist<1]
  
  breaks <- quantile(dist, probs = seq(0, 1, .2))
  
  colors <- c("#0000FF","#00FF00","#FFFF00","#FFA500","#FF0000")
  
  color = colors[sum(out > breaks)]
  
  par(mar=c(0,0,0,0))
  
  conf <- ((1-out.ci)/1.5)
  
  print(ggplot2::ggplot() + theme_void() + theme(panel.background = element_rect(fill = color)))
  
  print(ggplot2::ggplot() + geom_density(aes(dist), fill = "grey") +
          geom_rect(aes(ymin= -Inf, ymax = Inf, xmin = ci.low,xmax = ci.high),alpha = conf, fill = color) +
          geom_vline(aes(xintercept = out)) +
          theme_void())

  return(list(out = out,ci.low = ci.low,ci.high = ci.high, color = color, 
              varimp = paste("sent:",paste(substitute(...),...,sep = "=")),
              suggvar = suggvar))
  
}

deparse_args <- function(a, ...) {
  arg <- deparse(substitute(a))
  dots <- substitute(list(...))[-1]
  c(arg, sapply(dots, deparse))
}

# Return passed arguments as 400 error
debug <- function(...){
  stop(paste(deparse_args(...),"-",...,collapse = "|"))
}

test_preload <- function(){
  t <- data.frame(x = rnorm(100)) %>%
    mutate(y = x^2)
  
  print(ggplot2::ggplot(t, aes(x=x,y=y))) +
    geom_point()
}
dnspangler/ocputest documentation built on May 28, 2019, 3:36 p.m.