Holcombe:ProgrammingInR: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
 
(49 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:Holcombe}}
{{Template:Holcombe}}
R is a programming language for statistics. However it may have menu-driven versions maybe available  
R is an interactive programming language for statistics. The syntax is very idiosyncratic, and not really in a good way. Try [http://www.johndcook.com/R_language_for_programmers.html R for programmers] for a description.
However it may have menu-driven versions maybe available  
[http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/ R commander] we haven't tried that and another one is pmg GTK [http://www.ggobi.org/rgtk2 maybe here]
[http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/ R commander] we haven't tried that and another one is pmg GTK [http://www.ggobi.org/rgtk2 maybe here]


[[R_Statistics]] introduces you to R
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 [http://www.dlinares.org/Site/R_code.html personal website].


[http://www.rpad.org/Rpad/R-refcard.pdf R reference cheatsheet], also
[http://www.rpad.org/Rpad/R-refcard.pdf R reference cheatsheet], also
a file here [[Media:Matlab-python-xref.pdf‎]] that gives equivalent code for doing array operations in MATLAB, Python, and R
a file here [[Media:Matlab-python-xref.pdf‎]] that gives equivalent code for doing array operations in MATLAB, Python, and R
[http://www.statmethods.net/advgraphs/axes.html plot parameters]


In the lab we have the book ''Using R for Introductory Statistics''.
There is a wiki with some good tips [http://wiki.r-project.org/rwiki/doku.php?id=start here]. Also
[http://rwiki.sciviews.org/doku.php?id=tips:tips#data Data frame tips],  [http://alittleknowledge.wordpress.com/2009/09/11/r-for-pedestrians/ list of R websites]


There is a wiki with some good tips [http://wiki.r-project.org/rwiki/doku.php?id=start here].
Functions in R can only return one parameter.


Examining your data matrix or object, let's say it's called ''datos''
 
===dataframe tips===
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)
  head(datos)
  str(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
library(Hmisc);
describe(df)
#Calling typeof() on a dataframe returns "list"
rm(objectToBeDeleted)
rm(list = ls())  #Delete nearly everything in memory
expand.grid() to create dataframe with every combination of some factors
Check your counterbalancing in your results file. Make a contingency table,
table(dataRaw$speed,dataRaw$relPhaseOuterRing)
Replace certain value with another
thr$thresh[  thr$task=='ident' ] = NA
==Creating Graphs (usu. ggplot2)==
how I [[Holcombe:fit psychometric functions]] and bootstrap
See http://openwetware.org/wiki/Holcombe:Plotting
==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
After an error, calling traceback() gives you the stack
==doing ANOVAs etc==
[http://ww2.coastal.edu/kingw/statistics/R-tutorials/formulae.html Understanding model formulae]
[http://ww2.coastal.edu/kingw/statistics/R-tutorials/repeated.html ANOVA with repeated measures] walk-through


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.
===doing ANOVAs etc===
[http://www.personality-project.org/r/r.anova.html some aov (ANOVA) explanation]
[http://www.personality-project.org/r/r.anova.html some aov (ANOVA) explanation]


[http://books.google.com.au/books?id=yULf2kZSfeMC&pg=PA303&lpg=PA303&dq=r+linear+model+lm+continuous+and+discrete+factor&source=bl&ots=t82xDTuDaL&sig=EVVrHZ08lC80MGvJUQDNLg948Mc&hl=en&ei=_CO3SdOsG5mktQPZxYjsAQ&sa=X&oi=book_result&resnum=1&ct=result#PPA303,M1 R will assume factor is regressor if numeric]
[http://books.google.com.au/books?id=yULf2kZSfeMC&pg=PA303&lpg=PA303&dq=r+linear+model+lm+continuous+and+discrete+factor&source=bl&ots=t82xDTuDaL&sig=EVVrHZ08lC80MGvJUQDNLg948Mc&hl=en&ei=_CO3SdOsG5mktQPZxYjsAQ&sa=X&oi=book_result&resnum=1&ct=result#PPA303,M1 R will assume factor is regressor if numeric]
I think I had [http://tolstoy.newcastle.edu.au/R/help/04/08/2136.html too many error terms]
[http://books.google.com.au/books?id=ptbcCBSWvvQC&pg=PA359&lpg=PA359&dq=ANOVA+within-subjects++pooled+error+term&source=bl&ots=73eFDsaw8l&sig=ReTGWRjNFGnYQ4DF-D6qAE9qJgQ&hl=en&ei=cKu4Sd7CPIr2sAPSw4Q8&sa=X&oi=book_result&resnum=8&ct=result reducing error terms]
[http://blog.gribblelab.org/2009/03/09/repeated-measures-anova-using-r/ Anovas with repeated measures] can be complicated in R.
We have some R books in the lab


==Dealing with circular data==
==Dealing with circular data==

Latest revision as of 18:29, 6 June 2017

Recent members

Alex Holcombe
• Ryo Nakayama



Technical

Skills Checklist
Python Programming
Psychopy/VisionEgg Installation Notes
R analysis,plot,stats
Statistics
Buttonbox
Buttonbox with photocell
Programming Cheat Sheets


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.

R reference cheatsheet, also a file here Media:Matlab-python-xref.pdf‎ that gives equivalent code for doing array operations in MATLAB, Python, and R plot parameters

There is a wiki with some good tips here. Also Data frame tips, list of R websites

Functions in R can only return one parameter.


dataframe tips

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
library(Hmisc); 
describe(df)
#Calling typeof() on a dataframe returns "list"
rm(objectToBeDeleted)
rm(list = ls())  #Delete nearly everything in memory

expand.grid() to create dataframe with every combination of some factors

Check your counterbalancing in your results file. Make a contingency table,

table(dataRaw$speed,dataRaw$relPhaseOuterRing)

Replace certain value with another

thr$thresh[  thr$task=='ident' ] = NA

Creating Graphs (usu. ggplot2)

how I Holcombe:fit psychometric functions and bootstrap

See http://openwetware.org/wiki/Holcombe:Plotting

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

After an error, calling traceback() gives you the stack

doing ANOVAs etc

Understanding model formulae

ANOVA with repeated measures walk-through

some aov (ANOVA) explanation

R will assume factor is regressor if numeric

I think I had too many error terms reducing error terms

Anovas with repeated measures can be complicated in R.

We have some R books in the lab

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.