add data from r4ds
|
@ -325,7 +325,7 @@ figure > figcaption {
|
||||||
|
|
||||||
.reveal pre code:hover{
|
.reveal pre code:hover{
|
||||||
font-size: xx-large;
|
font-size: xx-large;
|
||||||
line-height: 250%;
|
line-height: 150%;
|
||||||
}
|
}
|
||||||
|
|
||||||
section#title-slide p.subtitle {
|
section#title-slide p.subtitle {
|
||||||
|
|
|
@ -7,6 +7,7 @@ project:
|
||||||
- "!analysis/"
|
- "!analysis/"
|
||||||
- "!*ignored.qmd"
|
- "!*ignored.qmd"
|
||||||
- "!*ignored/"
|
- "!*ignored/"
|
||||||
|
- "!coding/"
|
||||||
|
|
||||||
|
|
||||||
title: "区域水环境污染数据分析实践"
|
title: "区域水环境污染数据分析实践"
|
||||||
|
@ -23,7 +24,7 @@ website:
|
||||||
page-navigation: true
|
page-navigation: true
|
||||||
page-footer: "Copyright 2024, [Ming Su](https://drwater.rcees.ac.cn)"
|
page-footer: "Copyright 2024, [Ming Su](https://drwater.rcees.ac.cn)"
|
||||||
navbar:
|
navbar:
|
||||||
background: "grey"
|
background: "light"
|
||||||
search: true
|
search: true
|
||||||
right:
|
right:
|
||||||
- icon: house
|
- icon: house
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
set.seed(1014)
|
||||||
|
|
||||||
|
knitr::opts_chunk$set(
|
||||||
|
comment = "#>",
|
||||||
|
collapse = TRUE,
|
||||||
|
# cache = TRUE,
|
||||||
|
fig.retina = 2,
|
||||||
|
fig.width = 6,
|
||||||
|
fig.asp = 2/3,
|
||||||
|
fig.show = "hold"
|
||||||
|
)
|
||||||
|
|
||||||
|
options(
|
||||||
|
dplyr.print_min = 6,
|
||||||
|
dplyr.print_max = 6,
|
||||||
|
pillar.max_footer_lines = 2,
|
||||||
|
pillar.min_chars = 15,
|
||||||
|
stringr.view_n = 6,
|
||||||
|
# Temporarily deactivate cli output for quarto
|
||||||
|
cli.num_colors = 0,
|
||||||
|
cli.hyperlink = FALSE,
|
||||||
|
pillar.bold = TRUE,
|
||||||
|
width = 77 # 80 - 3 for #> comment
|
||||||
|
)
|
||||||
|
|
||||||
|
ggplot2::theme_set(ggplot2::theme_gray(12))
|
||||||
|
|
||||||
|
# use results: "asis" when setting a status for a chapter
|
||||||
|
status <- function(type) {
|
||||||
|
status <- switch(type,
|
||||||
|
polishing = "should be readable but is currently undergoing final polishing",
|
||||||
|
restructuring = "is undergoing heavy restructuring and may be confusing or incomplete",
|
||||||
|
drafting = "is currently a dumping ground for ideas, and we don't recommend reading it",
|
||||||
|
complete = "is largely complete and just needs final proof reading",
|
||||||
|
stop("Invalid `type`", call. = FALSE)
|
||||||
|
)
|
||||||
|
|
||||||
|
class <- switch(type,
|
||||||
|
polishing = "note",
|
||||||
|
restructuring = "important",
|
||||||
|
drafting = "important",
|
||||||
|
complete = "note"
|
||||||
|
)
|
||||||
|
|
||||||
|
cat(paste0(
|
||||||
|
"\n",
|
||||||
|
":::: status\n",
|
||||||
|
"::: callout-", class, " \n",
|
||||||
|
"You are reading the work-in-progress second edition of R for Data Science. ",
|
||||||
|
"This chapter ", status, ". ",
|
||||||
|
"You can find the complete first edition at <https://r4ds.had.co.nz>.\n",
|
||||||
|
":::\n",
|
||||||
|
"::::\n"
|
||||||
|
))
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
month,year,brand,item,n
|
||||||
|
January,2019,1,1234,3
|
||||||
|
January,2019,1,8721,9
|
||||||
|
January,2019,1,1822,2
|
||||||
|
January,2019,2,3333,1
|
||||||
|
January,2019,2,2156,9
|
||||||
|
January,2019,2,3987,6
|
||||||
|
January,2019,2,3827,6
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
month,year,brand,item,n
|
||||||
|
February,2019,1,1234,8
|
||||||
|
February,2019,1,8721,2
|
||||||
|
February,2019,1,1822,3
|
||||||
|
February,2019,2,3333,1
|
||||||
|
February,2019,2,2156,3
|
||||||
|
February,2019,2,3987,6
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
month,year,brand,item,n
|
||||||
|
March,2019,1,1234,3
|
||||||
|
March,2019,1,3627,1
|
||||||
|
March,2019,1,8820,3
|
||||||
|
March,2019,2,7253,1
|
||||||
|
March,2019,2,8766,3
|
||||||
|
March,2019,2,8288,6
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
|
||||||
|
repurrrsive::gap_simple |>
|
||||||
|
count(year)
|
||||||
|
|
||||||
|
by_year <- repurrrsive::gap_simple |>
|
||||||
|
group_by(year)
|
||||||
|
paths <- by_year |>
|
||||||
|
group_keys() |>
|
||||||
|
mutate(path = str_glue("data/gapminder/{year}.xlsx")) |>
|
||||||
|
pull()
|
||||||
|
paths
|
||||||
|
|
||||||
|
years <- by_year |>
|
||||||
|
group_split() |>
|
||||||
|
map(\(df) select(df, -year))
|
||||||
|
|
||||||
|
dir.create("data/gapminder")
|
||||||
|
|
||||||
|
walk2(years, paths, writexl::write_xlsx)
|
|
@ -0,0 +1,7 @@
|
||||||
|
Student ID,Full Name,favourite.food,mealPlan,AGE
|
||||||
|
1,Sunil Huffmann,Strawberry yoghurt,Lunch only,4
|
||||||
|
2,Barclay Lynn,French fries,Lunch only,5
|
||||||
|
3,Jayendra Lyne,N/A,Breakfast and lunch,7
|
||||||
|
4,Leon Rossini,Anchovies,Lunch only,
|
||||||
|
5,Chidiegwu Dunkel,Pizza,Breakfast and lunch,five
|
||||||
|
6,Güvenç Attila,Ice cream,Lunch only,6
|
|
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 286 KiB |
After Width: | Height: | Size: 252 KiB |
After Width: | Height: | Size: 269 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 391 KiB |
After Width: | Height: | Size: 497 KiB |
After Width: | Height: | Size: 984 KiB |
After Width: | Height: | Size: 963 KiB |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 292 KiB |
After Width: | Height: | Size: 709 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 682 KiB |
After Width: | Height: | Size: 478 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 380 KiB |
After Width: | Height: | Size: 328 KiB |
After Width: | Height: | Size: 386 KiB |
After Width: | Height: | Size: 418 KiB |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 220 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 83 KiB |