knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
kickme <- function(base_size = 14, base_family = "sans") { # colors <- deframe(ggthemes::ggthemes_data[["fivethirtyeight"]]) ( ggthemes::theme_foundation(base_size = base_size, base_family = base_family) + theme( line = element_line(colour = "azure2"), rect = element_rect( # fill = colors["Light Gray"], fill = "transparent", color = NA, linetype = 0, colour = NA ), # text = element_text(colour = colors["Dark Gray"]), # axis.title = element_blank(), # axis.text = element_text(), axis.text.x = element_text( size = 12, colour = "Black", angle = 0 ), axis.text.y = element_text( size = 12, colour = "Black", angle = 0 ), axis.title.x = element_text( size = 18, colour = "Black", angle = 0 ), axis.title.y = element_text( size = 18, colour = "Black", angle = 90 ), axis.ticks = element_blank(), axis.line = element_blank(), legend.background = element_rect(), legend.position = "bottom", legend.direction = "horizontal", legend.box = "vertical", # panel.grid = element_line(colour = NULL), # panel.grid.major = element_line(colour = colors["Medium Gray"]), # panel.grid.minor = element_blank(), panel.background = element_rect(fill = "transparent", colour = NA), plot.background = element_rect(fill = "transparent", colour = NA), plot.title = element_text( hjust = 0, size = rel(1.5), face = "bold" ), plot.margin = unit(c( 1, 1, 1, 1 ), "lines"), # strip.background = element_rect() strip.background = element_rect(fill = "transparent", colour = NA), strip.text.x = element_text( size = 18, colour = "Black", angle = 0 ) ) ) }
library(RCrashCourse) library(rethinking) library(tidyverse) # datasets::InsectSprays # abd::MoleRats # abd::Telomeres # datasets::InsectSprays write.csv(abd::MoleRats, "MoleRats.csv") readxl::re
Code that is something: Atomics to data.frames
Code that does something: Functions and looping
# CSVs read.csv("../data/MoleRats.csv") # Excel files readxl::read_excel("../data/MoleRats.xlsx") # R data objects # load() # Libraries M <- abd::MoleRats
janitor::clean_names() styler::style_file()
Inspecting type of Inspecting structure
typeof() str() head() tail()
Conditionals Filtering Getting rid of some of that data Dropping outliers
Plotting Boxplots and allies
library(tidyverse) library(abd) library(kableExtra) library(cowplot) library(ggsci) library(ggExtra) library(ggthemes) # theme_foundation library(car)
str(M)
cowplot::plot_grid(plotlist = list( ggplot(M, aes(x = caste, y = ln.energy))+ geom_boxplot(aes(group = caste, fill = caste))+ scale_fill_brewer(palette = "Set1")+ kickme(), ggplot(M, aes(x = caste, y = ln.energy, group = caste, fill = caste))+ geom_violin()+ scale_fill_brewer(palette = "Set1")+ kickme(), ggplot(M, aes(x = caste, y = ln.energy, group = caste, color = caste))+ geom_jitter(width = 0.1)+ scale_color_brewer(palette = "Set1")+ kickme(), ggplot(M, aes(x = caste, y = ln.energy, group = caste, color = caste))+ ggbeeswarm::geom_quasirandom()+ scale_color_brewer(palette = "Set1")+ kickme() ))
lm(ln.energy ~ caste, M) %>% summary()
cowplot::plot_grid(plotlist = list( ggplot(M, aes(x = ln.mass, y = ln.energy))+ geom_point()+ kickme(), ggplot(M, aes(x = ln.mass, y = ln.energy))+ geom_smooth(method = lm, se = F)+ geom_point()+ kickme(), ggplot(M, aes(x = ln.mass, y = ln.energy, group = caste, color = caste))+ geom_point()+ scale_color_brewer(palette = "Set1")+ kickme(), ggplot(M, aes(x = ln.mass, y = ln.energy, group = caste, color = caste))+ geom_smooth(method = lm, se = F)+ geom_point()+ scale_color_brewer(palette = "Set1")+ kickme() ))
p <- ggplot(M, aes(x = ln.mass, y = ln.energy, color = caste))+ geom_smooth(method = lm, se = F)+ geom_point()+ scale_fill_brewer(palette = "Set1")+ scale_color_brewer(palette = "Set1")+ kickme() ggMarginal(p, groupColour = T, groupFill = T)
fm <- lm(ln.energy ~ ln.mass + caste, M) fm %>% summary()
Anova.table <- lm(ln.mass ~ caste, data = MoleRats) %>% Anova(type = "III")
Anova.table %>% kable() %>% kable_styling()
Scatter plots Regressions Correlation heatmaps Modeling a relationship Linear model -> Anova -> post hoc test Correlation Saving outputs Writing plots Writing csvs Good places to look for help
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.