Hi Everyone. I will begin to migrate this blog over to my new website:
Hopefully this face lift will bring with it renewed motivation to update the blog on a more regular basis. Here’s to hoping.
Hi Everyone. I will begin to migrate this blog over to my new website:
Hopefully this face lift will bring with it renewed motivation to update the blog on a more regular basis. Here’s to hoping.
So here’s the scenario: you have two lists of vectors that look something like…
list1 = list( c(1,2,3,4,5) , c(1,2,3,4) , c(1,2,3) )
list2 = list( c(6,7,8,9,10), c(5,6,7,8,9,10), c(4,5,6,7,8,9,10) )
…and you’d like to combine them such that you end up with a single list of vectors that look something like…
list3 = list( c(1,2,3,4,5,6,7,8,9,10) , c(1,2,3,4,5,6,7,8,9,10) , c(1,2,3,4,5,6,7,8,9,10) )
Here’s the solution:
> list3 = apply( cbind( list1, list2 ) , 1 , unlist )
When plotting with {base} graphics, the layout() function will do you nicely when you’re looking to put more than one plot on a single page, but what about for {ggplot2} plots?
Luckily, our friends over at codebook-r.com have us covered with the truly nifty multiplot() function. Check it out here:
Say we want R to evaluate some text as a command instead of printing it as a string object. For example, when we enter:
> “1:10”
we want it to return a numeric vector:
[1] 1 2 3 4 5 6 7 8 9 10 (instead of: “1:10”)
Unfortunately, there is no native R function that’ll do this for us. So we need to write one ourselves. Happily, it’s pretty straightforward:
> str_eval=function(x) {return(eval(parse(text=x)))}
Once we’ve created this function, we can simply pass it our text (or any string object) and R will evaluate it as if it were simply another R command. Now:
> str_eval(“1:10”)
[1] 1 2 3 4 5 6 7 8 9 10
Success! The only limitation worth noting is that the text that you pass to the str_eval() function must not include quotation marks (“) within its body. Single quotation marks (‘) are okay. So, eval_str(” print(“hi”) “) will break the code, but eval_str(” print(‘hi’) “) will not.
Though of admittedly limited value, this little R trick has gotten me out of more than a couple coding conundrums. Don’t be surprised if one day it helps you find your way around a headache, too.
I’ve been using R Studio for quite a while now, and have consequently become pretty familiar (and yes, fond) of this most excellent R IDE. Over that time, I’ve found a handful of super useful tweaks and options that has made working in R Studio a true joy. At this point, if you’re asking yourself, “what the heck is R?” than the rest of this post will probably mean nothing to you; for everyone else, read on! Continue reading
Recently, I’ve had several folks ask me about the best (read: quickest) way to learn R. For those of you fortunate enough to have no idea what I’m talking about, here’s the skinny: R is a statistical programming environment that enables nerds like me to crunch massive amounts of data and produce things like this:
Cool, right? Even better, R is free (as in beer), which means anyone can do this stuff… which brings us back to our topic of the day: What is the quickest way to become an R ninja?
Continue reading
It’s been a long time in the oven, but finally got it through:
Levy, B. R., Chung, P. H., & Navrazhina, K. (to be published 2013). Facebook as a site for negative age stereotypes. The Gerontologist.
It’s no first-author, but hey I’ll take it!