1. var(W) = E[W^2] - E[W]^2
  2. Standard Deviation = sqrt(var(W))
  3. cor(A, B) = cov(A, B)/std(A)*std(B)
  4. dataframe df, numeric cols a/b/c, string col m
    1. df %>% summarise(avga = mean(a))
    2. df %>% mutate(diffbc = abs(b-c))
    3. df %>% filter(b > 10)
    4. df %>% arrange(desc(c), b)
    5. df %>% group_by(m) %>% summarise(tot = sum(a))
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6      ✔ purrr   0.3.4 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.2      ✔ forcats 0.5.2 
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(moderndive)
library(skimr)
library(ISLR)
df = tribble(
  ~A, ~D,
  10, -25,
  20, -30,
  30, 18,
  35, 21,
  40, 24
)
get_correlation(df, D~A)

R = 0.908729

get_regression_table(lm(D~A, df))

Best fit line = D = 2.016*A - 52.819