Emily Robinson, Susan VanderPlas, Reka Howard
- Conducted: April 2021 - Present
- Platform: Shiny App
- Recruitment Method: ISU Graphics Group, Twitter, Reddit, Direct Email, etc.
- Trend Types: Simulated Linear; Simulated Exponential (linear/log scale)
- Data was simulated for each individual upon start of experiment.
- See
code/data-generation.R
for data simulation functions. - See Data Validation for 100 simulation reps.
- Parameter combinations were selected to simulate data that replicates the data sets (S, F, V, N) in Eye Fitting Straight Lines (1981).
Algorithm: Linear Data Generation linearDataGen()
In parameters: y_xbar, slope, sigma, N = 30, xmin, xmax, xby = 0.25
Out: data list of point data and line data
- Randomly select and jitter N = 30 x-values along the domain.
- Determine y-intercept at x = 0 from the provided slope and y-intercept at the mean of x (y_xbar).
- Slope-intercept form:
y - y_xbar = m(x-xbar)
- Slope-intercept form:
- Generate "good" errors based on N(0,sigma).
- Set constraint of the mean of the first N/3 = 10 errors less than |2*sigma|
- Simulate point data based on
y = yintercept + slope*x + error
- Obtain least squares regression coefficients
lm(y ~ x, data = point_data)
- Simulate least squares regression line data
y = yintercepthat + slopehat*x
- Output data list of point data and line data
- Specific r2d3 options:
- aspect ratio = 1
- linear = "true"
- free_draw = TRUE
- points = "full",
- x_by = 0.25
- draw_start = NA
- show_finished = T - graphics group / F
- x_range = c(0,20)
- y_range = range(all eye fitting data)*c(1.1, 1.1)
Algorithm: Exponential Data Generation expDataGen()
In parameters: beta, sd, points_choice = "partial", points_end_scale, N = 30, xmin = 20, xmax = 20, xby = 0.25
Out: data list of point data and line data
- Randomly select and jitter N = 30 x-values along the domain.
- Generate "good" errors based on N(0,sd).
- Set constraint of the mean of the first N/3 = 10 errors less than |2*sd|
- Simulate point data based on
y = exp(x*beta + errorVals)
- Obtain starting value for beta
lm(log(y) ~ x, data = point_data)
- Use NLS to fit a better line to the point data
nls(y ~ exp(x*beta), data = point_data, ...)
- Simulate nonlinear least squares line data
y = exp(x*betahat)
- Output data list of point data and line data
- Specific r2d3 options:
- aspect ratio = 1
- linear =
- free_draw = FALSE
- points = "partial",
- x_by = 0.25
- draw_start_scale = 0.5 (start drawing at x = 10)
- show_finished = T - graphics group / F
- x_range = c(0,20)
- y_range = range(y-points)*c(0.5, 2)
- See
www/js/shinydrawr-d3v5.js
for D3.js source code.
-
Linear (Eye Fitting Straight Lines): 1-way ANOVA with 4 treatments
- 4 Treatments
- S: positive slope, low variance (y_xbar = 3.88, slope = 0.66, sigma = 1.3, xrange = (0,20))
- F: positive slope, high variance (y_xbar = 3.9, slope = 0.66, sigma = 1.98, xrange = (0,20))
- V: steep positive slope (y_xbar = 3.89, slope = 1.98, sigma = 1.5, xrange = (4,18))
- N: negative slope, high variance (y_xbar = 4.11, slope = -0.70, sigma = 2.5, xrange = (0,20))
- 4 Treatments
-
Exponential (Linear/Log): 2 x 2 x 2 Factorial
- Beta: 0.1 (sd. 0.09); 0.23 (0.25)
- Points End: 0.5; 0.75
- Scale: Linear; Log
- See
code/randomization.R
. - 8 data sets were generated for each individual upon start of experiment (4 Linear + 4 Exponential)
- 12 you draw it task plots were shown to each individual (4 Linear + (4 Exponential x 2 Scales))
- The order of each of the 12 plots was randomly assigned for each individual in a CRD.
- Data file can be found in
you_draw_it_data.db
. - Field descriptions can be found in data-manifest.md.
- Presentations:
- You Draw It with r2d3 - ISU Graphics Group 04-08-2021
- Eye Fitting Straight Lines in the Modern - Midwest Women in Science Conference Era
- Human perception of Statistical Charts: An Introduction to Graphical Testing - UNL Nerd Nite @ Saro Cider Methods
- Can 'You Draw It'? Eye Fitting Straight Lines in the Modern - ISU Graphics Group Era
- Can 'You Draw It' - Job Talk
- Papers:
- Preliminary Analyses:
- ISU Graphics Group (04/08/2021): Exponential Prediction, Eye Fitting Straight Lines
- Twitter/Reddit/Direct Email Pilot Study (05/03/2021): Exponential Prediction, Eye Fitting Straight Lines