## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE # Don't actually run typeRun in vignette ) ## ----setup-------------------------------------------------------------------- # library(typeR) ## ----basic-------------------------------------------------------------------- # # Create a simple script # cat("# Data Analysis Demo # x <- 1:10 # mean(x) # sum(x) # ", file = "demo.R") # # # Type and execute it # typeRun("demo.R") ## ----comparison--------------------------------------------------------------- # # typeR: Just displays, doesn't execute # typeR("demo.R") # # Output: Shows the code typing out (no results) # # # typeRun: Types AND executes # typeRun("demo.R") # # Output: Shows code typing + execution results ## ----speed-------------------------------------------------------------------- # # Slower typing for dramatic effect # typeRun("demo.R", delay = 0.1, jitter = 0.02) # # # Faster typing for quick demos # typeRun("demo.R", delay = 0.02, jitter = 0.005) ## ----output-control----------------------------------------------------------- # cat(" # # Long vector # long_vec <- 1:1000 # long_vec # # # Large data frame # big_df <- mtcars[rep(1:32, 10), ] # big_df # ", file = "long_output.R") # # # Show only first 5 elements/rows # typeRun("long_output.R", max_print = 5) ## ----lm----------------------------------------------------------------------- # cat(" # # Linear regression # model <- lm(mpg ~ hp + wt, data = mtcars) # summary(model) # ", file = "model_demo.R") # # typeRun("model_demo.R") ## ----models------------------------------------------------------------------- # cat(" # # Logistic regression # glm_model <- glm(am ~ hp + wt, data = mtcars, family = binomial) # summary(glm_model) # # # Poisson regression # pois_model <- glm(carb ~ mpg, data = mtcars, family = poisson) # summary(pois_model) # ", file = "glm_demo.R") # # typeRun("glm_demo.R") ## ----interactive, eval=FALSE-------------------------------------------------- # typeRun("long_script.R") # # Press ESC while running # # Enter 1 to resume # # Or enter 2 to stop ## ----------------------------------------------------------------------------- # # Create an R Markdown example # typeRun("report.Rmd") ## ----qmd, eval=FALSE---------------------------------------------------------- # typeRun("analysis.qmd") ## ----env---------------------------------------------------------------------- # # Create custom environment # my_env <- new.env() # # # Run in that environment # typeRun("demo.R", envir = my_env) # # # Check what was created # ls(my_env) # ls() # Your global environment is unchanged ## ----library------------------------------------------------------------------ # cat(" # library(ggplot2) # No startup message shown # library(dplyr) # Clean output # # # But code works normally # mtcars %>% head() # ", file = "packages.R") # # typeRun("packages.R") # # Shows only the actual results, not package messages ## ----silent------------------------------------------------------------------- # cat(" # # Assignments - silent # x <- 1:10 # y <- mean(x) # # # Plots - execute but don't clutter console # plot(x, y) # hist(x) # # # Package loading - no startup messages # library(stats) # ", file = "silent.R") # # typeRun("silent.R") ## ----visible------------------------------------------------------------------ # cat(" # # Direct values # 1:10 # Shows the vector # # # Function calls # mean(1:10) # Shows: [1] 5.5 # # # Print statements # print('Hello') # Shows: [1] 'Hello' # # # Model summaries # summary(lm(mpg ~ hp, data = mtcars)) # Shows full summary # ", file = "visible.R") # # typeRun("visible.R") ## ----teaching----------------------------------------------------------------- # cat(" # # Load data # data(mtcars) # head(mtcars, 3) # # # Visualize relationship # plot(mtcars$hp, mtcars$mpg, # xlab = 'Horsepower', # ylab = 'Miles per Gallon', # main = 'MPG vs Horsepower') # # # Fit model # model <- lm(mpg ~ hp, data = mtcars) # summary(model) # # # Add regression line # abline(model, col = 'red', lwd = 2) # # # Predictions # new_data <- data.frame(hp = c(100, 150, 200)) # predict(model, new_data) # ", file = "teaching_demo.R") # # typeRun("teaching_demo.R", delay = 0.08) ## ----workflow----------------------------------------------------------------- # cat(" # # 1. Load and explore # data <- iris # str(data) # # # 2. Summary statistics # summary(data) # # # 3. Visualization # boxplot(Sepal.Length ~ Species, data = data, # main = 'Sepal Length by Species', # col = c('lightblue', 'lightgreen', 'pink')) # # # 4. Statistical test # aov_result <- aov(Sepal.Length ~ Species, data = data) # summary(aov_result) # # # 5. Post-hoc test # TukeyHSD(aov_result) # ", file = "analysis_demo.R") # # typeRun("analysis_demo.R", delay = 0.06, max_print = 8) ## ----glm-example-------------------------------------------------------------- # cat(" # # Binary outcome: Manual transmission (am) # # Predictors: HP and weight # # # Fit logistic regression # logit_model <- glm(am ~ hp + wt, # data = mtcars, # family = binomial(link = 'logit')) # # # Model summary # summary(logit_model) # # # Odds ratios # exp(coef(logit_model)) # # # Predicted probabilities # mtcars$pred_prob <- predict(logit_model, type = 'response') # head(mtcars[, c('am', 'hp', 'wt', 'pred_prob')]) # ", file = "glm_example.R") # # typeRun("glm_example.R", max_print = 6) ## ----cleanup, include=FALSE--------------------------------------------------- # # Remove demo files created in this vignette # files_to_remove <- c( # "demo.R", "long_output.R", "model_demo.R", "glm_demo.R", # "report.Rmd", "packages.R", "silent.R", "visible.R", # "teaching_demo.R", "analysis_demo.R", "glm_example.R" # ) # invisible(lapply(files_to_remove, function(f) { # if (file.exists(f)) file.remove(f) # }))