Changes

Jump to navigation Jump to search
454 bytes added ,  14:28, 23 April 2015
no edit summary
Line 1: Line 1:  
== tidyr Package ==
 
== tidyr Package ==
 
http://vita.had.co.nz/papers/tidy-data.pdf
 
http://vita.had.co.nz/papers/tidy-data.pdf
 +
 
<source lang="rsplus">
 
<source lang="rsplus">
 
# gather()
 
# gather()
Line 10: Line 11:  
If we have a dataset with multiple variables stored in one column, for example:<br />
 
If we have a dataset with multiple variables stored in one column, for example:<br />
 
grade, male_1, female_1, male_2, female_2, are colums storing grades for two diferent classes.
 
grade, male_1, female_1, male_2, female_2, are colums storing grades for two diferent classes.
 +
 
<source lang="rsplus">
 
<source lang="rsplus">
 
res <- gather(students2, sex_class, count, -grade)
 
res <- gather(students2, sex_class, count, -grade)
Line 28: Line 30:  
2  Sally  final      C  <NA>      C  <NA>  <NA></nowiki>
 
2  Sally  final      C  <NA>      C  <NA>  <NA></nowiki>
    +
This code will tidy the data:
 +
<source lang="rsplus">
 +
students3 %>%
 +
  gather(class, grade, class1:class5, na.rm = TRUE) %>%
 +
  print
 +
</source>
 +
spread()<br />
 +
Spreads a colum into its variables.
 +
<source lang="rsplus">
 +
students3 %>%
 +
  gather(class, grade, class1:class5, na.rm = TRUE) %>%
 +
  spread(test, grade) %>%
 +
  print
 +
</source>
 +
To change the values from clas1, clas2... to 1, 2...
 
<source lang="rsplus">
 
<source lang="rsplus">
 
students3 %>%
 
students3 %>%
 
   gather(class, grade, class1:class5, na.rm = TRUE) %>%
 
   gather(class, grade, class1:class5, na.rm = TRUE) %>%
 +
  spread(test, grade) %>%
 +
  mutate(class= extract_numeric(class)) %>%
 
   print
 
   print
 
</source>
 
</source>

Navigation menu