--- title: 第9次课练习 --- ```{r} require(tidyverse) # require(ggplot2) require(palmerpenguins) penguins |> select(species, flipper_length_mm, body_mass_g, bill_length_mm, sex) |> filter(!is.na(sex)) |> ggplot(aes( x = species, y = body_mass_g )) + geom_jitter(colour = "white", fill = "gray80", size = 1, shape = 21, width = 0.4) + geom_violin(fill = "orange", alpha = 0.4) + stat_summary(fun = mean) + scale_size_continuous(range = c(.5, 2)) + # ggsci::scale_fill_d3() + ylab("Body mass (g)") + ggtitle("Body mass and flipper length") + theme(axis.text.x = element_text(angle = 90), panel.background = element_rect(fill = NA) ) ggplot2::last_plot() ggsave("../img/penguins.pdf", width = 4, heigh = 3) + dwfun::theme_sci(5, 5) p1 <- ggplot(penguins, aes(x = island, fill = species)) + geom_bar(position = "fill") p2 <- ggplot(penguins, aes(x = species, fill = island)) + geom_bar(position = "fill") require(patchwork) ((p1 / p2) | p1) ``` # 消光系数 ```{r} licordata <- readRDS("../data/licordata.RDS") require(tidyverse) licordata |> group_by(date, site) |> nest(.key = "lightdf") |> mutate(m = purrr::map( lightdf, ~ (lm(log(UP + 1) ~ depth, data = .x)) )) |> mutate(k = purrr::map_dbl(m, ~ -coef(.x)[2])) |> ggplot(aes(date, k)) + geom_point(aes(fill = site)) Iz = I0 * exp(-zk) ```