1.1. dplyr-paketin mukana tulee data storms
. Tallenna se työhakemistoon RDS muodossa. Miten luet datan takaisin R:ään?
saveRDS(storms, "./storms.RDS")
readRDS("./storms.RDS")
1.2. dplyr-paketin mukana tulee data storms
. Tallenna se työhakemistoon csv muodossa. Miten luet datan takaisin R:ään?
write.csv(storms, "./storms.csv")
read.csv("./storms.csv", stringsAsFactors = FALSE)
1.3. dplyr-paketin mukana tulee data storms
. Tallenna se työhakemistoon xlsx muodossa. Miten luet datan takaisin R:ään?
openxlsx::write.xlsx(storms, "./storms.xlsx")
readxl::read_excel("./storms.xlsx")
1.4. dplyr-paketin mukana tulee data storms
. Tallenna se työhakemistoon SPSS:n .sav muodossa. Miten luet datan takaisin R:ään?
haven::write_sav(storms, "./storms.sav")
haven::read_sav("./storms.sav")
2.1. Asenna CRAN:sta paketti nycflights13
ja lataa se. Datan on kuvattu luvussa: http://r4ds.had.co.nz/relational-data.html#nycflights13-relational - yhdistä datat flights ja airlines. Kuinka monta lentoa Hawaiian Airlines Inc.
lensi New Yorkista vuonna 2013. Datojen dokumentaation saa esim. komennolla ?flights
left_join(flights, airlines) %>% filter(name == "Hawaiian Airlines Inc.") %>% summarise(n=n())
2.2. Yhdistä dataan flights datat airlines ja planes. Kuinka monta lentoa matkustajaa US Airways Inc.
yhtiön lennoilla New Yorkista oli keskimäärin vuonna 2013.
left_join(flights, airlines) %>% left_join(planes) %>% filter(name == "US Airways Inc.") %>% summarise(seats = mean(seats, na.rm = TRUE))
2.3. Yhdistä dataan flights data airports ja weather. Montako sellaista lentoa kentältä JFK:n kentältä lähti jolloin tuulennopeus >= 30?
left_join(flights, airports, by = c("origin" = "faa")) %>% left_join(weather) %>% filter(origin == "JFK") %>% filter(wind_speed >= 30) %>% count()
3.1. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla ja pisteen väri on hahmon sukupuoli. Anna otsikoksi ‘Starwars-hahmot’ ja aseta teemaksi classic
base-fonttikoolla 8
ggplot(dplyr::starwars) + geom_point(aes(x=height,y=mass,color=gender)) + labs(title = "Starwars-hahmot") + theme_classic(base_size = 8)
3.2. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla ja pisteen väri on hahmon sukupuoli. Anna otsikoksi ‘Starwars-hahmot’ ja aseta teemaksi classic
base-fonttikoolla 8. Lisäksi aseta pallon värille uusi paletti Dark1 funktiolla scale_color_brewer()
ggplot(dplyr::starwars) + geom_point(aes(x=height,y=mass,color=gender)) + labs(title = "Starwars-hahmot") + theme_classic(base_size = 8) + scale_color_brewer(palette = "Dark2")
3.3. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla ja pisteen label on hahmon nimi. Anna otsikoksi ‘Starwars-hahmot’. Anna kuvan teemaksi minimal
. Tee luennolla esitetyt vaiheet, jotta saat fontit extrafont-paketin käytettäväksi, ja määritä koko kuvan basefontiksi sekä pisteen labeleiden fontiksi joku koneeltasi löytyvät erikoinen fontti. Laske lisäksi labelit pisteiden alapuolelle
ggplot(dplyr::starwars, aes(x=height,y=mass,label=name)) + geom_point() + labs(title = "Starwars-hahmot") + geom_text(family = "Impact", nudge_y = -70) + theme_minimal(base_family = "Impact")
3.4. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla. Aseta x-akselin tekstit 45-asteen kulmaan. (vinkki: theme(element. = element_text(kulma = 45) ) )*
ggplot(dplyr::starwars, aes(x=height,y=mass,label=name)) + geom_point() + labs(title = "Starwars-hahmot") + theme(axis.text.x = element_text(angle = 45))
3.5. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla ja pisteen väri on hahmon sukupuoli. Piilota värin selite ie. legend.
ggplot(dplyr::starwars, aes(x=height,y=mass,label=name)) + geom_point() + labs(title = "Starwars-hahmot") + theme(axis.text.x = element_text(angle = 45))
3.6. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla ja pisteen label on hahmon nimi. käytä funktiota ggrepel::geom_label_repel()
-pisteiden nimeämiseen
ggplot(dplyr::starwars, aes(x=height,y=mass,label=name)) + geom_point() + ggrepel::geom_label_repel()
3.7. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla. Tallenna kuva levylle .png-muodossa nimellä plotti.png, jonka leveys on 8, korkeus 6 sekä dpi 300
kuvaobjekti <- ggplot(dplyr::starwars, aes(x=height,y=mass)) + geom_point()
ggsave(filename = "plotti.png", plot = kuvaobjekti, width = 8, height = 6, dpi = 300)
3.8. dplyr
-paketti sisältää datan starwars
. Tee hajontakuvio (scatterplot), jossa hahmon pituus on x-akselilla, paino y-akselilla. Tallenna kuva levylle .pdf muodossa vaakasuorassa A4-koossa!
kuvaobjekti <- ggplot(dplyr::starwars, aes(x=height,y=mass)) + geom_point()
ggsave(filename = "plotti.pdf", plot = kuvaobjekti, width = 11.7, height = 8.27)