BÀI TẬP
bw <- read_csv("D:/R/birthwt.csv")
## Rows: 189 Columns: 11
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (11): id, low, age, lwt, race, smoke, ptl, ht, ui, ftv, bwt
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
cont_summary <- bw %>%
group_by(low) %>%
summarise(
n = n(),
age_mean = mean(age, na.rm = TRUE),
age_sd = sd(age, na.rm = TRUE),
age_median = median(age, na.rm = TRUE),
age_q1 = quantile(age, .25, na.rm = TRUE),
age_q3 = quantile(age, .75, na.rm = TRUE),
lwt_mean = mean(lwt, na.rm = TRUE),
lwt_sd = sd(lwt, na.rm = TRUE),
lwt_median = median(lwt, na.rm = TRUE),
lwt_q1 = quantile(lwt, .25, na.rm = TRUE),
lwt_q3 = quantile(lwt, .75, na.rm = TRUE),
bwt_mean = mean(bwt, na.rm = TRUE),
bwt_sd = sd(bwt, na.rm = TRUE),
bwt_median = median(bwt, na.rm = TRUE),
bwt_q1 = quantile(bwt, .25, na.rm = TRUE),
bwt_q3 = quantile(bwt, .75, na.rm = TRUE)
)
cont_summary
## # A tibble: 2 × 17
## low n age_mean age_sd age_median age_q1 age_q3 lwt_mean lwt_sd
## <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0 130 23.7 5.58 23 19 28 133. 31.7
## 2 1 59 22.3 4.51 22 19.5 25 122. 26.6
## # ℹ 8 more variables: lwt_median <dbl>, lwt_q1 <dbl>, lwt_q3 <dbl>,
## # bwt_mean <dbl>, bwt_sd <dbl>, bwt_median <dbl>, bwt_q1 <dbl>, bwt_q3 <dbl>
smoke_summary <- bw %>%
count(low, smoke) %>%
group_by(low) %>%
mutate(percent = round(100 * n / sum(n), 1))
smoke_summary
## # A tibble: 4 × 4
## # Groups: low [2]
## low smoke n percent
## <dbl> <dbl> <int> <dbl>
## 1 0 0 86 66.2
## 2 0 1 44 33.8
## 3 1 0 29 49.2
## 4 1 1 30 50.8
race_summary <- bw %>%
count(low, race) %>%
group_by(low) %>%
mutate(percent = round(100 * n / sum(n), 1))
race_summary
## # A tibble: 6 × 4
## # Groups: low [2]
## low race n percent
## <dbl> <dbl> <int> <dbl>
## 1 0 1 73 56.2
## 2 0 2 15 11.5
## 3 0 3 42 32.3
## 4 1 1 23 39
## 5 1 2 11 18.6
## 6 1 3 25 42.4