From 6f55c32a970ce5dc998b7f2050a4020f26bbc21d Mon Sep 17 00:00:00 2001 From: linhdoan Date: Thu, 29 Sep 2016 11:26:23 -0400 Subject: [PATCH] I rename some of your dataset --- .gitignore | 4 ++++ Class 7 Instructions.Rmd | 41 ++++++++++++++++++++++++--------------- Rplot.png | Bin 0 -> 21435 bytes 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 .gitignore create mode 100644 Rplot.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b6a065 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.Rproj.user +.Rhistory +.RData +.Ruserdata diff --git a/Class 7 Instructions.Rmd b/Class 7 Instructions.Rmd index 5ae641a..7cb72ef 100644 --- a/Class 7 Instructions.Rmd +++ b/Class 7 Instructions.Rmd @@ -11,14 +11,14 @@ date: "February 13, 2016" We will use two packages: tidyr and dplyr ```{r} #Insall packages -install.packages("tidyr", "dplyr") +#install.packages("tidyr", "dplyr") #Load packages -library(tidyr, dplyr) +#library(tidyr, dplyr) ``` ##Upload wide format instructor data (instructor_activity_wide.csv) ```{r} -data_wide <- read.table("~/Documents/NYU/EDCT2550/Assignments/Assignment 3/instructor_activity_wide.csv", sep = ",", header = TRUE) +data_wide <- read.table("~/Desktop/HUDK class/Class 7/instructor_activity_wide.csv", sep = ",", header = TRUE) #Now view the data you have uploaded and notice how its structure: each variable is a date and each row is a type of measure. View(data_wide) @@ -38,11 +38,11 @@ The gather command requires the following input arguments: - ...: Names of source columns that contain values ```{r} -data_long <- gather(data_wide, date, variables) +data_long_instructor <- gather(data_wide, date, variables) #Rename the variables so we don't get confused about what is what! -names(data_long) <- c("variables", "date", "measure") +names(data_long_instructor) <- c("variables", "date", "measure") #Take a look at your new data, looks weird huh? -View(data_long) +View(data_long_instructor) ``` ##Now convert this long format into separate columns using the "spread" function to separate by the type of measure @@ -53,13 +53,16 @@ The spread function requires the following input: - value: Name of column containing values ```{r} -instructor_data <- spread(data_long, variables, measure) +instructor_data <- spread(data_long_instructor, variables, measure) ``` ##Now we have a workable instructor data set!The next step is to create a workable student data set. Upload the data "student_activity.csv". View your file once you have uploaded it and then draw on a piece of paper the structure that you want before you attempt to code it. Write the code you use in the chunk below. (Hint: you can do it in one step) ```{r} - +data_long_student <- read.table("~/Desktop/HUDK class/Class 7/student_activity.csv", sep = ",", header = TRUE) +View(data_long_student) +data_wide_student <- spread(data_long_student, variable,measure) +View(data_wide_student) ``` ##Now that you have workable student data set, subset it to create a data set that only includes data from the second class. @@ -69,13 +72,13 @@ To do this we will use the dplyr package (We will need to call dplyr in the comm Notice that the way we subset is with a logical rule, in this case date == 20160204. In R, when we want to say that something "equals" something else we need to use a double equals sign "==". (A single equals sign means the same as <-). ```{r} -student_data_2 <- dplyr::filter(student_data, date == 20160204) +student_data_2 <- dplyr::filter(data_wide_student, date == 20160204) ``` Now subset the student_activity data frame to create a data frame that only includes students who have sat at table 4. Write your code in the following chunk: ```{r} - +student_data_table4 <- dplyr::filter(data_wide_student, table == 4) ``` ##Make a new variable @@ -89,7 +92,8 @@ instructor_data <- dplyr::mutate(instructor_data, total_sleep = s_deep + s_light Now, refering to the cheat sheet, create a data frame called "instructor_sleep" that contains ONLY the total_sleep variable. Write your code in the following code chunk: ```{r} - +instructor_sleep <- dplyr::select(instructor_data,total_sleep) +View(instructor_sleep) ``` Now, we can combine several commands together to create a new variable that contains a grouping. The following code creates a weekly grouping variable called "week" in the instructor data set: @@ -100,24 +104,25 @@ instructor_data <- dplyr::mutate(instructor_data, week = dplyr::ntile(date, 3)) Create the same variables for the student data frame, write your code in the code chunk below: ```{r} - +data_wide_student <- dplyr::mutate(data_wide_student, week = dplyr::ntile(date, 3)) ``` ##Sumaraizing Next we will summarize the student data. First we can simply take an average of one of our student variables such as motivation: ```{r} -student_data %>% dplyr::summarise(mean(motivation)) +data_wide_student %>% dplyr::summarise(mean(motivation)) #That isn't super interesting, so let's break it down by week: -student_data %>% dplyr::group_by(date) %>% dplyr::summarise(mean(motivation)) +data_wide_student %>% dplyr::group_by(date) %>% dplyr::summarise(mean(motivation)) ``` Create two new data sets using this method. One that sumarizes average motivation for students for each week (student_week) and another than sumarizes "m_active_time" for the instructor per week (instructor_week). Write your code in the following chunk: ```{r} - +student_week <- data_wide_student %>% dplyr::group_by(week) %>% dplyr::summarise(mean(motivation)) +instructor_week <- instructor_data %>% dplyr::group_by(week) %>% dplyr::summarise(mean(m_active_time)) ``` ##Merging @@ -125,13 +130,17 @@ Now we will merge these two data frames using dplyr. ```{r} merge <- dplyr::full_join(instructor_week, student_week, "week") +colnames(merge) <- c("week","active","motivation") + ``` ##Visualize Visualize the relationship between these two variables (mean motivation and mean instructor activity) with the "plot" command and then run a Pearson correlation test (hint: cor.test()). Write the code for the these commands below: ```{r} - +View(merge) +plot(merge$active,merge$motivation) +cor.test(merge$active,merge$motivation) ``` Fnally save your markdown document and your plot to this folder and comit, push and pull your repo to submit. diff --git a/Rplot.png b/Rplot.png new file mode 100644 index 0000000000000000000000000000000000000000..779ebc362aa28f31d70723d0534c889947a15515 GIT binary patch literal 21435 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 pjN!O^FlI*({|BaeS$F^d literal 0 HcmV?d00001