Differences between revisions 1 and 36 (spanning 35 versions)
Revision 1 as of 2008-05-19 21:47:46
Size: 777
Editor: colossus
Comment:
Revision 36 as of 2008-05-27 18:15:38
Size: 7830
Editor: wireless
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
== Session 0: Basics ==
Understanding of this material will be assumed throughout the course. Please read these introductory materials and make sure you understand them before beginning the readings for the first session.
''I'm going to be running this section of the course. All questions and comments should either be posted here, or sent directly to me.'' -- AustinFrank [[DateTime(2008-05-20T18:19:39Z)]]
Line 9: Line 8:
If there is sufficient interest, a short primer on using R will be offered during the first week of the course (somewhere between May 26 and May 30). If you're interested in this, or if you have requests on what to cover during the primer, please write to AustinFrank. ''Make sure to read the main page for this tutorial prior to reading this one. In particular, please read the "How to read" section. In a crash course approach like the one we will be taking here, it is inevitable that you will encounter terminology that you are unfamiliar with. Please collect those and feel free to post on this wiki. Each session page has a section with '''Notes on the readings''' (by Austin and me) and '''Additional terminology''' (where you can add terms you want clarified - just edit the page).'' -- Florian Jaeger [[DateTime(2008-05-21T17:21:00Z)]]
Line 11: Line 10:
=== Reading ===
|| Baa08 || Chapter 1 (pp. 1-20) || Intro to R. ||
|| G&H07 || Chapter 2 (pp. 13-26) || Intro to probability theory.||
|| Dal04 || ??? || ??? ||

= Session 0: Basics (with optional R primer) =

'''11:00, May 27 2008'''

This optional meeting of the course will be an R primer. We'll be focusing on obtaining a basic level of familiarity required to participate in the course. We won't cover everything you'll need to know for the course, but hopefully we'll cover enough that you will be able to learn new material on your own.

Whether you attend the R primer or not, you are responsible for understanding the content of these readings before the first session.

If there are things you would like to cover, please make note of them below. ''NB'': As of now there are no plans to teach graphing functions during the primer. It's possible that we could have a special add-on session to discuss different graphics packages in R if there's sufficient interest. Let AustinFrank know if you want to participate in such an event.

This page has three sections: Readings and notes on them, Assignments, and a list of topics that will be covered in class (to be edited by you).

== Materials ==
 * attachment:session_0.R
 * attachment:sleepstudy.csv
 * attachment:cake.tab

== Reading ==
Understanding of this material will be assumed throughout the course. Please read these introductory materials and make sure you understand them before beginning the readings for the first session. '''Here and for the other sessions, we sometimes assign parts of chapters for reading, so please check the page numbers for the suggested readings''' (or risk being confused).

|| Baa08 || Chapter 1 (pp. 1-20) || Intro to R ||
|| Wiki |||| intros to [http://en.wikipedia.org/wiki/Probability_theory probability theory] and [http://en.wikipedia.org/wiki/Probability_distribution distributions] ([http://en.wikipedia.org/wiki/Bernoulli_distribution Bernoulli] and [http://en.wikipedia.org/wiki/Normal_distribution normal] distribution)||
|| Dal04 || Chapter 2 (pp. 45-55) || Probability distributions in R ||
|| G&H07 || Chapter 2 (pp. 13-26) || Terminological convention and intro to probability theory||

For absolute beginners, this is also very useful:

|| Dal04 || Chapter 1.1 - 1.2 || Basics of R ||
|| || Chapter 1.5 - 1.5 || ||

Additionally, feel free to download and print out this [attachment:R-Refcard.pdf reference card] for R. While it's a few years old, the basics it covers have not changed.

=== Notes on the readings ===
Absolute novices to R should start by reading at least the parts of Dalgaard's Ch1 indicated above (but really Baayen is pretty easy even without that). Everyone should read Baayen's R intro chapter. Then read the top part of the wiki entries given above (they get pretty technical after some time, so just read the intro; for a nice condensed intro to probability theory, I recommend [http://nlp.stanford.edu/fsnlp/ Manning and Schuetze 1999:Ch1.2]). Then do a quick walk through Dalgaard's Ch2 on probability distributions in R to play around with some distributions and to get familiar with R. Plan for 1-2 hours of reading and typing (in R) just for the Baayen and Dalgaard chapters.

The G&H chapter is ''not'' an introduction to probability theory, but rather a summary of notational conventions for that book with brief explanations of the concepts. This chapter is definitely not the strong part of the book and not very insightful (and sometimes close to wrong in its simplification), but you should read through it, being fine with the fact that probably it will somewhat confuse you. Later you can go back to this chapter to review conventions used in G&H.


=== Additional terminology ===
Feel free to add terms you want clarified in class:
 
 * file.choose (where do you put this & what exactly happens?)
   * file.choose() uses the graphical interface to choose a file. Try {{{read.csv(file=file.choose())}}}
 * ls() v objects()
   * They are the same thing. Try {{{?ls()}}} and notice that they have the same arguments with the same defaults. Also, {{{?objects}}} takes you to the same page.
 * tapply() v aggregate()
   * I don't use either very much. Instead, I use {{{summarize()}}} from the Design package. The syntax is similar to {{{aggregate()}}}, but it has one crucial ability that {{{tapply() does not}}}. When you want to apply a user-made function to each element of a data set, {{{aggregate()}}} can only return a single scalar result for each row. {{{aggregate}}} is smart enough to handle functions that return a vector of results, putting each element of the vector into its own column in the results. [[BR]]
{{{
> with(sleepstudy, aggregate(Reaction, by=list(Subject),
       FUN = function (x) {c(is.character(x), mean(x))}))
Error in aggregate.data.frame(as.data.frame(x), ...) :
  'FUN' must always return a scalar
}}}
 * rep()

=== Questions ===
 * Q: A clarification of the stance on multiple comparisons in G&H (p. 22). Why do they think it's nothing to worry about?
 * A: [http://www.stat.columbia.edu/~cook/movabletype/archives/2008/03/why_i_dont_usua_1.html Here] is Gelman's elaboration on the matter. The paper is readable and not too long.

== Assignments ==
 * Make sure you have the latest version of R (version 2.7) installed on a laptop that you can use during class. AndrewWatts wrote some very useful [http://linginst07.stanford.edu/florianR/software/ instructions for installing R] last summer. You should still be able to follow those steps, but make sure you download and install version 2.7.

= R Primer =
== Suggested topics ==
If you have any material that you would like to cover that isn't included in the list below, please make note of it here.

== Topics ==
=== Interacting with R and R files ===
 * Using a command line
       command history, continuation lines, stopping execution [[BR]]
       defining variables [[BR]]
       calling functions
 * Installing packages
       {{{install.package(), update.package()}}}
 * Using the R workspace
       {{{ls(), rm(), setwd(), getwd(), library()}}}
 * Using an R script file
 * Saving R objects
       {{{save(), save.image()}}}

=== Getting help ===
 * Function-specific help
       {{{?(), help()}}}
 * Searching the help
       {{{apropos(), help.search(), RSiteSearch()}}}

=== Loading data ===
 * general purpose functions
       {{{scan()}}}
 * specific formats
       {{{read.csv(), read.delim(), library(foreign)}}}

=== General data structures ===
 * vectors / arrays
       {{{c()}}}
 * matrices
       {{{cbind(), rbind(), table()}}}
 * lists
       {{{list(), unlist()}}}
 * data frames
       {{{data.frame()}}}
 * general structure manipulation and interaction
       {{{[], [[]], $, subset(), str(), cut(), repr()}}}

=== Basic descriptive statistics ===
 * summary stats
       {{{mean(), sd(), var(), quantile()}}}

=== Probability distributions ===
 * random sampling
       {{{runif(), rnorm(), rbinom()}}}

I'm going to be running this section of the course. All questions and comments should either be posted here, or sent directly to me. -- AustinFrank DateTime(2008-05-20T18:19:39Z)

Make sure to read the main page for this tutorial prior to reading this one. In particular, please read the "How to read" section. In a crash course approach like the one we will be taking here, it is inevitable that you will encounter terminology that you are unfamiliar with. Please collect those and feel free to post on this wiki. Each session page has a section with Notes on the readings (by Austin and me) and Additional terminology (where you can add terms you want clarified - just edit the page). -- Florian Jaeger DateTime(2008-05-21T17:21:00Z)

Session 0: Basics (with optional R primer)

11:00, May 27 2008

This optional meeting of the course will be an R primer. We'll be focusing on obtaining a basic level of familiarity required to participate in the course. We won't cover everything you'll need to know for the course, but hopefully we'll cover enough that you will be able to learn new material on your own.

Whether you attend the R primer or not, you are responsible for understanding the content of these readings before the first session.

If there are things you would like to cover, please make note of them below. NB: As of now there are no plans to teach graphing functions during the primer. It's possible that we could have a special add-on session to discuss different graphics packages in R if there's sufficient interest. Let AustinFrank know if you want to participate in such an event.

This page has three sections: Readings and notes on them, Assignments, and a list of topics that will be covered in class (to be edited by you).

Materials

  • attachment:session_0.R
  • attachment:sleepstudy.csv
  • attachment:cake.tab

Reading

Understanding of this material will be assumed throughout the course. Please read these introductory materials and make sure you understand them before beginning the readings for the first session. Here and for the other sessions, we sometimes assign parts of chapters for reading, so please check the page numbers for the suggested readings (or risk being confused).

Baa08

Chapter 1 (pp. 1-20)

Intro to R

Wiki

intros to [http://en.wikipedia.org/wiki/Probability_theory probability theory] and [http://en.wikipedia.org/wiki/Probability_distribution distributions] ([http://en.wikipedia.org/wiki/Bernoulli_distribution Bernoulli] and [http://en.wikipedia.org/wiki/Normal_distribution normal] distribution)

Dal04

Chapter 2 (pp. 45-55)

Probability distributions in R

G&H07

Chapter 2 (pp. 13-26)

Terminological convention and intro to probability theory

For absolute beginners, this is also very useful:

Dal04

Chapter 1.1 - 1.2

Basics of R

Chapter 1.5 - 1.5

Additionally, feel free to download and print out this [attachment:R-Refcard.pdf reference card] for R. While it's a few years old, the basics it covers have not changed.

Notes on the readings

Absolute novices to R should start by reading at least the parts of Dalgaard's Ch1 indicated above (but really Baayen is pretty easy even without that). Everyone should read Baayen's R intro chapter. Then read the top part of the wiki entries given above (they get pretty technical after some time, so just read the intro; for a nice condensed intro to probability theory, I recommend [http://nlp.stanford.edu/fsnlp/ Manning and Schuetze 1999:Ch1.2]). Then do a quick walk through Dalgaard's Ch2 on probability distributions in R to play around with some distributions and to get familiar with R. Plan for 1-2 hours of reading and typing (in R) just for the Baayen and Dalgaard chapters.

The G&H chapter is not an introduction to probability theory, but rather a summary of notational conventions for that book with brief explanations of the concepts. This chapter is definitely not the strong part of the book and not very insightful (and sometimes close to wrong in its simplification), but you should read through it, being fine with the fact that probably it will somewhat confuse you. Later you can go back to this chapter to review conventions used in G&H.

Additional terminology

Feel free to add terms you want clarified in class:

  • file.choose (where do you put this & what exactly happens?)

    • file.choose() uses the graphical interface to choose a file. Try read.csv(file=file.choose())

  • ls() v objects()
    • They are the same thing. Try ?ls() and notice that they have the same arguments with the same defaults. Also, ?objects takes you to the same page.

  • tapply() v aggregate()
    • I don't use either very much. Instead, I use summarize() from the Design package. The syntax is similar to aggregate(), but it has one crucial ability that tapply() does not. When you want to apply a user-made function to each element of a data set, aggregate() can only return a single scalar result for each row. aggregate is smart enough to handle functions that return a vector of results, putting each element of the vector into its own column in the results. BR

> with(sleepstudy, aggregate(Reaction, by=list(Subject), 
       FUN = function (x) {c(is.character(x), mean(x))}))
Error in aggregate.data.frame(as.data.frame(x), ...) : 
  'FUN' must always return a scalar
  • rep()

Questions

Assignments

  • Make sure you have the latest version of R (version 2.7) installed on a laptop that you can use during class. AndrewWatts wrote some very useful [http://linginst07.stanford.edu/florianR/software/ instructions for installing R] last summer. You should still be able to follow those steps, but make sure you download and install version 2.7.

R Primer

Suggested topics

If you have any material that you would like to cover that isn't included in the list below, please make note of it here.

Topics

Interacting with R and R files

  • Using a command line
    • command history, continuation lines, stopping execution BR defining variables BR calling functions

  • Installing packages
    • install.package(), update.package()

  • Using the R workspace
    • ls(), rm(), setwd(), getwd(), library()

  • Using an R script file
  • Saving R objects
    • save(), save.image()

Getting help

  • Function-specific help
    • ?(), help()

  • Searching the help
    • apropos(), help.search(), RSiteSearch()

Loading data

  • general purpose functions
    • scan()

  • specific formats
    • read.csv(), read.delim(), library(foreign)

General data structures

  • vectors / arrays
    • c()

  • matrices
    • cbind(), rbind(), table()

  • lists
    • list(), unlist()

  • data frames
    • data.frame()

  • general structure manipulation and interaction
    • [], [[]], $, subset(), str(), cut(), repr()

Basic descriptive statistics

  • summary stats
    • mean(), sd(), var(), quantile()

Probability distributions

  • random sampling
    • runif(), rnorm(), rbinom()

HLPMiniCourseSession0 (last edited 2008-11-09 04:14:14 by cpe-69-207-169-204)

MoinMoin Appliance - Powered by TurnKey Linux