Git Product home page Git Product logo

wtf-2019-rsc's Introduction

Agenda for:

  • "What They Forgot to Teach You About R" workshop
  • January 15/16 2019, rstudio::conf 2019 training days, Austin, TX

rstd.io/wtf-2019-rsc <-- The One True URL that links to everything!

Pre-work

Please do the requested Git/GitHub prep in advance, as per email! Go here for details and use this community thread if you hit a roadblock.

Schedule

Tuesday

08:00 - 09:00 Registration/breakfast
09:00 - 10:30 1_1: Project-oriented workflow 1 of 2
10:30 - 11:00 Break
11:00 - 12:30 1_2: Project-oriented workflow 2 of 2
12:30 - 14:00 Lunch
14:00 - 15:30 1_3: Debugging
15:30 - 16:00 Break
16:00 - 17:30 1_4: Git/GitHub 1

Wednesday

08:00 - 09:00 Registration/breakfast
09:00 - 10:30 2_1: Personal R Administration 1 of 2
10:30 - 11:00 Break
11:00 - 12:30 2_2: Personal R Administration 2 of 2
12:30 - 14:00 Lunch
14:00 - 15:30 2_3: Git/GitHub 2
15:30 - 16:00 Break
16:00 - 17:30 2_4: Iterating well with purrr

Staff

Instructors

TAs and special guests

Themes

  • Project-oriented mentality, organization, predictability, portability
  • Take control of your R installation: startup, libraries & packages
  • Why and how re: version control, esp. with R and RStudio
  • Strategies for getting unstuck and helping yourself
  • Iterating well, esp. with purrr game time decision

Feedback and communication

https://gitter.im/what-they-forgot/wtf-2019-rsc is our chat room. Good for live chat during the workshop. Feel free to ignore if you are overstimulated already.

Issues <-- all are encouraged to open issues as we go. This is actually tremendously helpful to us! Examples of issue-worthy thoughts:

  • Glitches in the instructions or materials that we need to fix, for current workshop or future
  • Missing content that we identify
  • Great questions or sidebar discussions that we should consider formalizing and recording
  • Questions that are too specific or technical to answer in real-time

Resources

Written versions of content are under open development here:

Links that are handy to us

wtf-2019-rsc's People

Contributors

jennybc avatar jimhester avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wtf-2019-rsc's Issues

Best practices for .gitignore

What sorts of things should be in .gitignore beyond the defaults? If it's something like a whole directory (say, Data), can that be done with something like regex or do the files need to be added individually?

Explore a cloud-centric workflow

The project-centric workflow covered is a huge is a pre-requisite to enable life in the ephemeral cloud, where compute resources are created and destroyed on demand.

It would be terrific to explore the gap between the content of this workshop and being productive in the cloud where naked machines need to be dressed with R and the R project before analysis can begin.

Nested iteration/looping

You have a set of tests: A, B, C, D
Each test has subscales: X, Y, Z
At each level of test, you want to score all subscales, so
A: X, Y, Z
B: X, Y, Z
. . . and so on
Jenny suggested that instead of thinking of this as an iteration problem, it's best to wrangle the data so that the two columns test, subscale are unnested into a single column

Flesh out .Rprofile lesson

I think this could be really helpful. I would have liked to spend more time on the different options that we could set here rather than making animals talk on start (although this is cute). What are the options that Jim, Jenny and other RStudio people set in their .Rprofile?

Setup gitter

Create the Gitter room and replace the link placeholder in the README

How to manage multiple projects with the same data files

At work, I'm working multiple reports that all rely on common data files that occasionally update. Originally, each report lived in its own project with its own Data folder. I then ran into the issue of not being able to easily track which projects had the most recent data. As a result, I migrated them all to one my_reports mega-project with a single Data folder. Now I have trouble organizing my files in a way that follows project-oriented a workflow. Is there a way to have both reliable data and a good file structure?

Specify that Rstudio 1.1+ is required

The pre-work recommended getting the latest versions of R (3.5+) and RStudio (with no minimum version mentioned). It seems that having the Terminal (available in 1.1+) is critical; can it be made clear that is the oldest viable version for this workshop?

I get that ideally we'd all be working with the latest versions, but for those of us stuck behind layers of IT bureaucracy it's not always so simple.

Fiddle with the Jekyll theme

Here's what I'm talking about:
https://rstd.io/wtf-2019-rsc

We're using GitHub Pages, in it simplest form, to create a landing page for the workshop, coupled with an rstd.io short link.

We want to be lightweight and nimble, because we always need to make live edits. We want minimal moving parts.

Not sure what the "best" theme is. But I know I'd rather get happy with a canned theme than do any Jekyll config.

I'll keep playing with this and am happy to receive suggestions.


The default theme looked bad, because the landing page had two headers. Possible solution:

https://github.community/t5/GitHub-Pages/Remove-Heading/td-p/4220

I have mixed feelings about getting into Jekyll config for this.

Update: I've switched to a different theme, where this bugs me less.

Examples of dotfiles

Would be nice to have a few .Rprofile .Renviron example files added in the slides

give examples about interactive vs non-interactive R mode would help too.

From a chaotic EDA to an organized workflow

Do you think you all can touch on how/when to ease the transition from, for me at least, what usually starts out as a pretty free-flowing and chaotic EDA on a new project, to the type of scripted and controlled workflow that was covered yesterday? My research projects tend to be pretty unstructured at first, and even though I use version control, can get a bit bloated as I try new analyses. If when we settle on a workflow like that covered yesterday, what do we do with all the other code? Keep it in a repository, and start a new, smaller and refactored one?

You mentioned it a bit with the smell-test.R file, but I often end up with an entire smell test repo. Should these all be on branches?

Cheers

Opening HTML or PDF in RStudio viewer pane

Is there a way to do this without rendering a .rmd? I found this code but couldn't figure out how to apply it:

tempDir <- tempfile()
dir.create(tempDir)
htmlFile <- file.path(tempDir, "index.html")
# (code to write some content to the file)
viewer <- getOption("viewer")
viewer(htmlFile)

What's your OS?

Put an emoji reaction on the relevant comment below to indicate which operating system you use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.