R(esources): Many many suppoRts for youR success
R is a freely downloadable, open-access, open-source platform for pretty much any math you want to do. (Yes, you can use RStudio for a more hospitable graphical user interface--I don't use it, but so what?). It is not for heavy-lifting with enormous datasets, but it is a "high-level" language meaning that
1. the variables can/do have intuitive names,
2. you can assign any sort of values to those variables
3. your challenge in R is limited to the accounting problem of linking the variables with arithmetic and logic. You already know all the arithmetic we'll ever need, but you'll have to learn logical tools like:
"if-then," "if-else," "and," and "or," statements
subsetting by conditions you will have to specify
loops ("for-" and "while-") to do arithmetic iteratively
4. most important: you challenge is NOT to speak more directly the electronics of the computer hardware (as in "low-level" languages)
The sad fact here is that learning R can be very difficult--not because you're not up for it. On the contrary, YOU ARE UP FOR IT. The problem is that you're human and not a computer, which means you use context to infer what's there...sometimes to make up what isn't there but then also to leave out what is there--and there's a LOT you're leaving out of what you're seeing, just because there are too many things to focus on. Computers are simpler. They only see what you give them and they do nothing else.
So, the real warning is that learning this stuff is going to require several things:
YOU are going to have to MAKE YOUR OWN MISTAKES
YOU are going to have to ASK FOR HELP (sure, your classmates might know things, but I will be your most reliable source)
YOU are going to have to KEEP making mistakes before you learn to do it completely independently
YOU are going to have to ASK FOR HELP AGAIN, even for what we'll both see is the same mistake.
YOU are going to have to practice regularly in order to learn from your mistakes, and no amount of walk through from me is going to save you or me from the inevitable truth that you are going to make mistakes I would never imagine.
Most of you are thinking at this point "Oh, I'm not the kind of person who asks for help. I'll manage without help. I'm tenacious."
To you, I say: No one is the person who does not need help. The person who doesn't ask for help is the person who doesn't learn.
You are tenacious to have got this far, but you risk wasting a lot of time and effort trying to invent your skills completely on your own.
What will definitely help you: a few minutes of seeing how a more seasoned mistake-maker like me has learned to look at the very same code you think you are seeing plain as day.
So, give yourself 15 minutes of trying to stare down an error message, but then do the smart thing and please ASK ME FOR HELP.
In class, raise your hand and/or call my name
Out of class, e-mail me a screenshot of the error (or warning) message
Some of you are thinking "But you won't e-mail back as fast as I want to finish my work!"
Start work sooner--which generally useful advice is just another reason R is a good place for learning to happen.
Guideposts to start you on your journey of learning R from many mistakes of your own
You can download and read this intro I wrote to start you out from the ground level of knowing mostly nothing.
I use the Singer & Willett textbook only out of habit (I used it when I was taking this class)
If you read the Singer & Willett (which you probably won't, but that's your own fault), then you have the benefit of there being ALL OF THE R SYNTAX needed to replicate ALL OF THE EXAMPLES available ONLINE for you to read and copy all the hours of the day that you might be awake and stressing over homework. I have used all-caps here because OH MY GOD, if you do not use this resource, you are missing out on a FULL WORK-UP of ENGLISH and R side by side through the ENTIRE SEMESTER.
If you're still reading and not on the linked websites, then you have an error that needs further support, so read on for next steps.
Take a breath and read what you typed
Good programming skills require two deeply emotional realizations needed for the deeply technical sounding "debugging" process:
1. that you have created many of the bugs/errors through your own careless mistakes
Not because you're bad, just because being alive means being prone to vary beyond your imagination (Hint: the class is about development, remember?)
2. that you are the best qualified person to code your way out of the mess you made
3. that you are going to have to make the mistakes repeatedly before you never make the mistakes again.
If you think there's nothing but computer skills here to learn, then you're forgetting that action drives perception.
And if you go through these sordid little motions with the computer, and if you can do so gradually more independently, then you will learn to see and think new things you never saw or thought before.
Where else to go for R support
R's own documentation on what to do for help (e.g., how to use the help() function)
Datacamp (for anyone needing extra drills to boost their confidence)
Just Googling your error messages
I realize this recommendation looks lazy/unhelpful, but much of these skills must be gotten through your own ability to seek out resources. Googling is often the first good step because, chances are, someone else has made the mistake and posted it on these..
...forums to search and read
please do not post your own questions without reading the posting guides
R help mailing lists (searchable format)
One math-literacy resource that a student offered me to share: