The objectives of this problem set is to orient you to a number of
activities in R
and to conduct a thoughtful exercise in
appreciating the importance of data visualization. For each question
enter your code or text response in the code chunk that
completes/answers the activity or question requested. To submit this
homework you will create the document in Rstudio, using the knitr
package (button included in Rstudio) and then submit the document to
your Rpubs account. Once uploaded you
will submit the link to that document on Canvas. Please make sure that
this link is hyper linked and that I can see the visualization and the
code required to create it. Each question is worth 5 points.
anscombe
data that is part of the
library(datasets)
in R
. And assign that data
to a new object called data
.data=anscombe
head(data)
## x1 x2 x3 x4 y1 y2 y3 y4
## 1 10 10 10 8 8.04 9.14 7.46 6.58
## 2 8 8 8 8 6.95 8.14 6.77 5.76
## 3 13 13 13 8 7.58 8.74 12.74 7.71
## 4 9 9 9 8 8.81 8.77 7.11 8.84
## 5 11 11 11 8 8.33 9.26 7.81 8.47
## 6 14 14 14 8 9.96 8.10 8.84 7.04
dplyr
package!)library(tidyverse)
sapply(data, mean)
## x1 x2 x3 x4 y1 y2 y3 y4
## 9.000000 9.000000 9.000000 9.000000 7.500909 7.500909 7.500000 7.500909
sapply(data, var)
## x1 x2 x3 x4 y1 y2 y3 y4
## 11.000000 11.000000 11.000000 11.000000 4.127269 4.127629 4.122620 4.123249
cor(data[,1:4],data[,5:8])
## y1 y2 y3 y4
## x1 0.8164205 0.8162365 0.8162867 -0.3140467
## x2 0.8164205 0.8162365 0.8162867 -0.3140467
## x3 0.8164205 0.8162365 0.8162867 -0.3140467
## x4 -0.5290927 -0.7184365 -0.3446610 0.8165214
library(ggplot2)
data(anscombe)
data <- data.frame(x = c(data$x1, data$x2, data$x3, data$x4),
y = c(data$y1, data$y2, data$y3, data$y4),
dataset = factor(rep(1:4, each = 11)))
ggplot(data, aes(x = x, y = y)) +
geom_point() +
facet_wrap(~ dataset, nrow = 2)
data <- data.frame(x = c(anscombe$x1, anscombe$x2, anscombe$x3, anscombe$x4),
y = c(anscombe$y1, anscombe$y2, anscombe$y3, anscombe$y4),
dataset = factor(rep(1:4, each = 11)))
ggplot(data, aes(x = x, y = y)) +
geom_point(shape = 19, color = "blue", size = 3) +
facet_wrap(~ dataset, nrow = 2)
lm()
function.lm1 = lm(anscombe$y1~anscombe$x1)
lm2 = lm(anscombe$y2~anscombe$x2)
lm3 = lm(anscombe$y3~anscombe$x3)
lm4 = lm(anscombe$y4~anscombe$x4)
#Create a four panel scatter plot matrix with regression lines
p <- ggplot(data.frame(x = c(anscombe$x1, anscombe$x2, anscombe$x3, anscombe$x4),
y = c(anscombe$y1, anscombe$y2, anscombe$y3, anscombe$y4),
dataset = factor(rep(1:4, each = 11))), aes(x = x, y = y)) +
geom_point(shape = 19, color = "blue", size = 3) +
facet_wrap(~ dataset, nrow = 2)
#Add specific linear regression lines to each panel
p + geom_abline(data = as.data.frame(lm1$coefficients),
aes(intercept = lm1$coefficients[1], slope = lm1$coefficients[2]), color = "green", linetype = "dashed") +
geom_abline(data = as.data.frame(lm2$coefficients),
aes(intercept = lm2$coefficients[1], slope = lm2$coefficients[2]), color = "purple", linetype = "dashed") +
geom_abline(data = as.data.frame(lm3$coefficients),
aes(intercept = lm3$coefficients[1], slope = lm3$coefficients[2]), color = "orange", linetype = "dashed") +
geom_abline(data = as.data.frame(lm4$coefficients),
aes(intercept = lm4$coefficients[1], slope = lm4$coefficients[2]), color = "brown", linetype = "dashed") +
theme_bw()
anova(lm1)
Analysis of Variance Table
Response: anscombe\(y1 Df Sum Sq Mean Sq F
value Pr(>F) anscombe\)x1 1 27.510 27.5100 17.99 0.00217 **
Residuals 9 13.763 1.5292
— Signif. codes: 0 ‘’ 0.001 ’’ 0.01 ’’ 0.05
‘.’ 0.1 ’ ’ 1
anova(lm2)
## Analysis of Variance Table
##
## Response: anscombe$y2
## Df Sum Sq Mean Sq F value Pr(>F)
## anscombe$x2 1 27.500 27.5000 17.966 0.002179 **
## Residuals 9 13.776 1.5307
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm3)
## Analysis of Variance Table
##
## Response: anscombe$y3
## Df Sum Sq Mean Sq F value Pr(>F)
## anscombe$x3 1 27.470 27.4700 17.972 0.002176 **
## Residuals 9 13.756 1.5285
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm4)
## Analysis of Variance Table
##
## Response: anscombe$y4
## Df Sum Sq Mean Sq F value Pr(>F)
## anscombe$x4 1 27.490 27.4900 18.003 0.002165 **
## Residuals 9 13.742 1.5269
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The quartet of Anscombe is a collection of four datasets with almost identical statistical characteristics but different visual patterns when plotted. The takeaway is that summary statistics like mean, variance, and correlation may not be enough to properly comprehend a dataset because distinct datasets with the same summary statistics may exhibit widely dissimilar patterns. This emphasizes the value of using data visualization to explore and comprehend data since it can make connections and patterns that may not be obvious from summary statistics alone. As a result, data visualization can be an effective tool for learning knowledge and making data-driven decisions.