From 4c5b68e0b8037f7eef884ddae0440238b6a85e54 Mon Sep 17 00:00:00 2001 From: Carson Pedaci Date: Tue, 14 Feb 2023 23:01:01 -0500 Subject: [PATCH 1/2] Minus map2() function --- index.pdf | Bin 56970 -> 58594 bytes index.qmd | 106 ++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 71 insertions(+), 35 deletions(-) diff --git a/index.pdf b/index.pdf index c6bb8c6a84a872d39944d8060788b3c47d730f02..d1486638b61bc6e0d967b79ad98e024b98e3bb14 100644 GIT binary patch delta 22256 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 u@t;;#HPK@ARuiABuIbws|IvT`I`% + ggplot + + for (col in colnames(quant)){geom_histogram(x = col, binwidth = + + facet_wrap(colnames(quant)) ``` @@ -100,12 +105,16 @@ Plot histograms of all the quantitative variables in a **single plot** [^footnot Create a boxplot of `length` for each `sex` and create a violin-plot of of `diameter` for each `sex`. Are there any notable differences in the physical appearences of abalones based on your analysis here? -```R -... # Insert your code for boxplot here +```{R} +df %>% + ggplot + + geom_boxplot(aes(x = sex, y = length)) ``` -```R -... # Insert your code for violinplot here +```{R} +df %>% + ggplot + + geom_violin(aes(x = sex, y = diameter)) ``` @@ -117,10 +126,12 @@ Create a scatter plot of `length` and `diameter`, and modify the shape and color -```R -... # Insert your code here +```{R} +df %>% + ggplot + + geom_point(aes(x = length, y = diameter, color = sex, size = shell_weight)) ``` - +As length increases, so does the shell weight. There is one abalone with a significantly greater diameter compared to other abalones of its length. --- ###### 1.6 (5 points) @@ -128,8 +139,12 @@ Create a scatter plot of `length` and `diameter`, and modify the shape and color For each `sex`, create separate scatter plots of `length` and `diameter`. For each plot, also add a **linear** trendline to illustrate the relationship between the variables. Use the `facet_wrap()` function in R for this, and ensure that the plots are vertically stacked **not** horizontally. You should end up with a plot that looks like this: [^footnote_plot_facet] -```R -... # Insert your code here +```{R} +df %>% + ggplot + + geom_point(aes(x = length, y = diameter)) + + facet_grid(facets = 'sex', as.table = TRUE) + + geom_smooth(aes(x = length, y = diameter)) ``` @@ -154,8 +169,11 @@ More advanced analyses using `dplyr`, `purrrr` and `ggplot2` Filter the data to only include abalone with a length of at least $0.5$ meters. Group the data by `sex` and calculate the mean of each variable for each group. Create a bar plot to visualize the mean values for each variable by `sex`. -```R -df %>% ... # Insert your code here +```{R} +df %>% + filter(length >= 0.5) %>% + group_by(sex)%>% + summarise(mean(length), mean(diameter), mean(height), mean(whole_weight), mean(shucked_weight), mean(viscera_weight), mean(shell_weight), mean(rings)) ``` @@ -176,8 +194,13 @@ Implement the following in a **single command**: 3. Use the `geom_tile()` function to create a tile plot of `num_rings` vs `sex` with the color indicating of each tile indicating the `avg_weight` value. -```R -df %>% ... # Insert your code here +```{R} +df %>% + mutate('num_rings' = case_when(rings < 10 ~ 'low', rings > 20 ~ 'high', 10 <= rings | rings <= 20 ~ 'med')) %>% + group_by(num_rings, sex) %>% + summarise('avg_weight' = mean(whole_weight + shucked_weight + viscera_weight + shell_weight))%>% + ggplot + + geom_tile(aes(x = sex, y = num_rings, fill = avg_weight)) ``` @@ -206,8 +229,9 @@ Use the `map2()` function from the `purrr` package to create a scatter plot for ::: -```R -... # Insert your code here +```{R} +map2(x = num_rings, y = col, color = sex)%>% + cowplot::plot_grid() ``` @@ -230,8 +254,10 @@ Linear regression using `lm` Perform a simple linear regression with `diameter` as the covariate and `height` as the response. Interpret the model coefficients and their significance values. -```R -... # Insert your code here +```{R} +model <- lm(df$height ~ df$diameter) + +summary(model) ``` @@ -243,10 +269,12 @@ Perform a simple linear regression with `diameter` as the covariate and `height` Make a scatterplot of `height` vs `diameter` and plot the regression line in `color="red"`. You can use the base `plot()` function in R for this. Is the linear model an appropriate fit for this relationship? Explain. -```R -... # Insert your code here +```{R} +x = df$diameter +plot(df$diameter, df$height) +lines(df$diameter, fitted(lm(df$height~df$diameter)), col='red') ``` - +The linear model is an appropriate fit. The data present no visible patterns of a correlation other than linear. --- @@ -255,8 +283,10 @@ Make a scatterplot of `height` vs `diameter` and plot the regression line in `co Suppose we have collected observations for "new" abalones with `new_diameter` values given below. What is the expected value of their `height` based on your model above? Plot these new observations along with your predictions in your plot from earlier using `color="violet"` -```R - +```{R} +df3 <- df %>% select(diameter, height) +model <- lm(height~diameter, data = df3) +nd_frame = data.frame(new_diameters) new_diameters <- c( 0.15218946, 0.48361548, @@ -268,10 +298,16 @@ new_diameters <- c( 0.92906875, 0.94245437, 0.01209518 -) +) +predict_model = predict(model, newdata = nd_frame) +print(predict_model) +plot(df$diameter, df$height) +plot(nd_frame, predict_model) +df %>% + ggplot + + geom_point(aes(x = ) -... # Insert your code here. ``` From 00579da661d651cb6c4bdab59d6edb8098eb1c82 Mon Sep 17 00:00:00 2001 From: Carson Pedaci Date: Tue, 14 Feb 2023 23:45:49 -0500 Subject: [PATCH 2/2] Idk good I guess --- index.qmd | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/index.qmd b/index.qmd index f95de4b..93c34c2 100644 --- a/index.qmd +++ b/index.qmd @@ -91,11 +91,11 @@ No rows were dropped. Plot histograms of all the quantitative variables in a **single plot** [^footnote_facet_wrap] ```{R} -quant = df[, 2:9] -quant %>% +df %>% + pivot_longer(cols = c('length', 'diameter', 'height', 'whole_weight', 'shucked_weight', 'viscera_weight', 'shell_weight', 'rings'), names_to = 'var', values_to = 'val')%>% ggplot + - for (col in colnames(quant)){geom_histogram(x = col, binwidth = + - facet_wrap(colnames(quant)) + geom_histogram(aes(x = val)) + + facet_wrap(facets = 'var') ``` @@ -195,8 +195,11 @@ Implement the following in a **single command**: ```{R} -df %>% - mutate('num_rings' = case_when(rings < 10 ~ 'low', rings > 20 ~ 'high', 10 <= rings | rings <= 20 ~ 'med')) %>% +num_df <- + df %>% + mutate('num_rings' = case_when(rings < 10 ~ 'low', rings > 20 ~ 'high', 10 <= rings | rings <= 20 ~ 'med')) + +num_df %>% group_by(num_rings, sex) %>% summarise('avg_weight' = mean(whole_weight + shucked_weight + viscera_weight + shell_weight))%>% ggplot + @@ -212,8 +215,11 @@ df %>% Make a table of the pairwise correlations between all the numeric variables rounded to 2 decimal points. Your final answer should look like this [^footnote_table] -```R -df %>% ... # Insert your code here +```{R} +R <- df %>% +keep(is.numeric) %>% +cor() +R ``` @@ -230,8 +236,11 @@ Use the `map2()` function from the `purrr` package to create a scatter plot for ```{R} -map2(x = num_rings, y = col, color = sex)%>% - cowplot::plot_grid() +df %>% + pivot_longer(cols = c('length', 'diameter', 'height', 'whole_weight', 'shucked_weight', 'viscera_weight', 'shell_weight'), names_to = 'var', values_to = 'val')%>% + ggplot + + geom_point(aes(x = rings, y = val, color = sex)) + + facet_grid(facets = 'var') ``` @@ -285,8 +294,6 @@ Suppose we have collected observations for "new" abalones with `new_diameter` va ```{R} df3 <- df %>% select(diameter, height) -model <- lm(height~diameter, data = df3) -nd_frame = data.frame(new_diameters) new_diameters <- c( 0.15218946, 0.48361548, @@ -300,14 +307,12 @@ new_diameters <- c( 0.01209518 ) -predict_model = predict(model, newdata = nd_frame) -print(predict_model) -plot(df$diameter, df$height) -plot(nd_frame, predict_model) -df %>% - ggplot + - geom_point(aes(x = ) - +nd_frame = data.frame(new_diameters)%>% + rename('diameter' = 'new_diameters') +model <- lm(height ~ diameter, data = df3) +predict_model <- predict(model, nd_frame) +plot(nd_frame%>% unlist(), predict_model, col = 'violet') +points(df3$diameter, df3$height, col = 'grey') ```