hello SWC bootcamp
- Dr. Jennifer (Jenny) Bryan
Department of Statistics and Michael Smith Laboratories University of British Columbia
hello SWC bootcamp Dr. Jennifer (Jenny) Bryan Department of - - PowerPoint PPT Presentation
hello SWC bootcamp Dr. Jennifer (Jenny) Bryan Department of Statistics and Michael Smith Laboratories University of British Columbia write code for humans, write data for computers A place for everything and everything in its place
Department of Statistics and Michael Smith Laboratories University of British Columbia
“The source code is real. The objects are realizations of the source code. Source for EVERY user modified object is placed in a particular directory or directories, for later editing and retrieval.”
minimize the creation of excerpts and copies of your data ... it will just confuse you later
as in real life, it has a tendency to get short and fat, when you’d really prefer tall and skinny
you won’t believe how important this is: what is your working directory? where is the file or executable you need? you need to be fluent with file paths
tough love:
typos matter case matters th_is is different from th-is spaces in filenames are EVIL you want computer to tedious work for you, right? then you must give precise instructions
a few remarks borrowed from Jonah Duckles’ intro (zero-entry R room)
end sermon
any questions from first tutorial re: basic use of R via RStudio, RStudio projects? you do know that R ≠ RStudio, right? we use RStudio because it makes us happier in our work, but notice that nothing we produce -- no code, no figures, nothing -- requires RStudio to be created, appreciated or reused you should master various ways of sending code from editor to Console so that saving scripts becomes your R Way of Life
a <- 2 b <- 7 sigSq <- 0.5 n <- 400 set.seed(1234) x <- runif(n) y <- a + b * x + rnorm(n, sd = sqrt(sigSq)) (avgX <- mean(x)) write(avgX, "results/avgX.txt") pdf("figs/niftyPlot.pdf") plot(x, y) abline(a, b, col = "blue", lwd = 2) dev.off()
I assume your toyline.R script looks similar to this.
a <- 2 b <- 7 sigSq <- 0.5 n <- 400 set.seed(1234) x <- runif(n) y <- a + b * x + rnorm(n, sd = sqrt(sigSq)) (avgX <- mean(x)) write(avgX, "results/avgX.txt") pdf("figs/niftyPlot.pdf") plot(x, y) abline(a, b, col = "blue", lwd = 2) dev.off()
It’s great we are saving important things to file with code -- versus letting them cruise by in the Console and/or saving via mouse clicks -- but we can do better.
You did install knitr and its dependencies, as instructed in the set-up tutorial, right?
install.packages("knitr", dependencies = TRUE)
You did get an RPubs account, as requested, right?
a <- 2 b <- 7 sigSq <- 0.5 n <- 400 set.seed(1234) x <- runif(n) y <- a + b * x + rnorm(n, sd = sqrt(sigSq)) (avgX <- mean(x)) plot(x, y) abline(a, b, col = "blue", lwd = 2) sessionInfo()
Edit the script -- more like it was during development, when we were watching results and figures appear on the screen.
Compile an HTML notebook.
Yes this can be accomplished outside of RStudio, using knitr functions at the command line, so we are not creating unhealthy dependency on RStudio.
I just accept all these defaults.
This is where you’ll need that RPubs account.
Seems like a good idea to keep script name and slug same, at least as default. Expect me to give you a naming convention for future STAT 545A coursework.
http://rpubs.com/jennybc/toyline