(→Creating Graphs (usu. ggplot2))
|Line 80:||Line 80:|
==doing ANOVAs etc==
==doing ANOVAs etc==
Revision as of 04:45, 7 June 2010
R is an interactive programming language for statistics. The syntax is very idiosyncratic, and not really in a good way. Try R for programmers for a description. However it may have menu-driven versions maybe available R commander we haven't tried that and another one is pmg GTK maybe here
In the lab we have the book Using R for Introductory Statistics. R_Statistics introduces you to R
Dani has posted some example code and graphs on his personal website.
Functions in R can only return one parameter. Delete nearly everything in memory: rm(list = ls())
Examining your data frame or object, let's say it's called datos
typeof(datos) #returns "list!" str(datos) #tells you it's a dataframe, number of observations, columns, etc head(datos) str(datos) summary(datos) #good for ggplot objects also
df$varWithExtraLevels = factor(df$varWithExtraLevels)
length(df) #number of columns of dataframe
names(df) #names of columns of dataframe
#Calling typeof() on a dataframe returns "list"
Don't use the function attach. It seems to leave lots of data in the 'environment' that can cause problems later. Also it makes the code harder to understand.
Check your counterbalancing in your results file. Make a contingency table,
Creating Graphs (usu. ggplot2)
In the lab we usually use the package, ggplot2, for graphs. Ask Sarah about the ggplot2 book.
For custom colour schemes, the Chart of R Colors is a helpful resource. The table with named colours is most useful.
#where 'g' is your ggplot object str(g) #gives you everything! summary(g) #gives a summary last_plot() #refreshes the last plot and returns the struct
p=p+scale_y_continuous(breaks=c(0,0.5,1),minor_breaks=c(.25,.75)) #changing axis breaks p=p+opts(title="one-behind errors") p=p+xlab('relative phase')
opts(panel.grid.minor = theme_blank())+
last_plot() + opts(panel.grid.minor = theme_line(colour = "black") )
facet_grid(.~subject) # rows~columns
g<-g+stat_summary(fun.y=mean,geom="point",position="jitter") #getting jitter to work when you're collapsing across other variables with stat_summary
g=g+ stat_smooth(method="glm",family="binomial",fullrange=TRUE) #adds logistic smoother to plot #it's impossible to extract the function fits however because they're fit on the fly #how can I fit an arbitrary function, like a psychometric function, e.g. cumulative gaussian with chance rate and lapse rate? Logistic is restricted to 0->1
order used for scale mapping (color, etc.) is perhaps the order of the levels property of the vector. This gives bizarre results because R's sort(unique(x)) default does not alphabetize strings.
Debugging in R
How to examine and try things with a questionable variable within a function?
ee <<- resultsMeans #make global, violating all principles of good coding #DEBUG STOP
doing ANOVAs etc
Dealing with circular data
von Mises vs. wrapped Gaussian,
see Swindale, N. V. (1998). Orientation tuning curves: empirical description and estimation of parameters. Biol Cybern, 78(1), 45-56.
Setting up a proxy in R on a Mac
The easiest way to set up a proxy is simply to create a file called ".Rprofile" in your user directory (~ or Users/username/) with the line:
Then restart R. This information (and more) can be found on Ken Benoit's webpage
For Sydney Uni, use: