Confidence Interval Printout - R

Let's say we want a printout of our confidence interval for an entire sample (Note, if you're looking for a visual of a confidence interval over time, check out the post here!) The solution here requires Periscope Data's Python/R Integration as we'll be using R.

Notice that the function created in the R snippet takes in the following parameters for added customization:

  • data: a vector that contains all of the values of a sample (in this example, we took a column from the built in cars dataframe. Of course, you can easily have this be a column of your SQL output)
  • level: the width of the Confidence Interval. Default is set to 0.95 (95%)
  • test_type: whether we use the t distribution ('T') or a z/normal distribution ('Z') to calculate the confidence interval. We recommend verifying that your data is normally distributed before using the z distribution statistic.
# SQL output is imported as a dataframe variable called "df"
# Use Periscope to visualize a dataframe or show text by passing data to periscope.table() or periscope.text() respectively. Show an image by calling periscope.image() after your plot.

#As an exmaple, use the default Cars dataset and assign to df
df <- cars

confidence_interval <- function(data, level, test_type) {
  ci_level <- (level + 1)/2.0
  n <- length(data)
  stdev <- sd(data)
  mu <- mean(data)
  if (test_type == 'T') {
    error <- qt(ci_level,df=n-1)*stdev/sqrt(n)
  }
  else {
    error <- qnorm(ci_level)*stdev/sqrt(n)
  }
  lower <- round(mu - error,2)
  upper <- round(mu + error,2)
  return(paste(paste(level * 100,'%',sep = ''),'Confidence Interval:',lower,'to',upper, sep = ' '))
}

periscope.text(confidence_interval(df$dist, 0.95, 'Z'))

For the Python equivalent of this community post, check out the page here!

Found this useful? Let us know in the comments!

Reply Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
Like Follow
  • 2 wk agoLast active
  • 44Views
  • 1 Following