library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
# Generate data
set.seed(123)
x <- 1:100
y <- 2*x + rnorm(100, mean = 0, sd = 10)
# Fit linear regression model
model <- lm(y ~ x)
summary(model)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.5356 -5.5236 -0.3462 6.4850 20.9487
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.36404 1.84287 -0.198 0.844
## x 2.02511 0.03168 63.920 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.145 on 98 degrees of freedom
## Multiple R-squared: 0.9766, Adjusted R-squared: 0.9763
## F-statistic: 4086 on 1 and 98 DF, p-value: < 2.2e-16
#replicate analysis with different sds, storing results
r_squareds <- c()
for (i in seq(0,500,5)) {
x <- 1:100
y <- 2*x + rnorm(100, mean = 0, sd = i)
model <- lm(y ~ x)
r_squareds <- c(r_squareds, summary(model)$r.squared)
}
## Warning in summary.lm(model): essentially perfect fit: summary may be unreliable
r_squareds
## [1] 1.000000e+00 9.932750e-01 9.751926e-01 9.312317e-01 9.050833e-01
## [6] 8.566849e-01 7.828089e-01 7.212733e-01 6.834446e-01 5.678064e-01
## [11] 5.212257e-01 5.367560e-01 5.709531e-01 4.677363e-01 4.388137e-01
## [16] 3.421040e-01 2.278222e-01 3.251693e-01 3.227787e-01 2.475043e-01
## [21] 1.712641e-01 2.801417e-01 1.768074e-01 2.246631e-01 3.697265e-01
## [26] 2.064830e-01 8.277143e-02 2.682401e-01 1.415271e-01 2.292600e-01
## [31] 1.062759e-01 2.151623e-01 3.821266e-02 1.301177e-01 9.131591e-02
## [36] 1.890561e-01 1.365018e-01 6.056116e-02 6.904981e-02 4.224143e-02
## [41] 7.355857e-02 1.489604e-01 1.192786e-01 5.411190e-02 1.647019e-02
## [46] 6.815408e-03 4.544389e-02 5.613483e-02 8.249907e-02 2.950900e-02
## [51] 1.345620e-01 1.660982e-01 1.009977e-01 2.003916e-02 2.357444e-02
## [56] 9.065340e-02 1.250861e-01 2.835720e-02 7.543849e-04 5.636529e-02
## [61] 5.065079e-02 1.185631e-01 7.215814e-02 4.546512e-02 6.930654e-02
## [66] 4.209305e-05 6.859910e-02 1.460355e-02 9.984071e-02 5.692870e-02
## [71] 2.555148e-03 4.101175e-02 9.863264e-03 1.158119e-02 1.420880e-02
## [76] 5.492373e-02 3.536268e-02 6.200743e-02 1.982468e-04 4.013544e-02
## [81] 1.462085e-02 4.100179e-02 6.078263e-02 3.883594e-03 2.005871e-02
## [86] 3.085489e-02 5.432229e-03 1.305054e-02 1.174290e-04 2.078766e-02
## [91] 1.003277e-05 5.208005e-04 2.235935e-04 3.449013e-02 1.490635e-02
## [96] 1.502988e-02 9.713989e-04 1.507965e-02 8.039234e-03 7.607484e-03
## [101] 4.963636e-04
plot(seq(0,500,5), r_squareds)
