Обновить

Комментарии 2

R шикарен и любим. Но еще все любят смотреть на графики, которые с легкостью в нем создаются. Поэтому смотрим на шансы и выбираем стратегию, которой мы будем придерживаться.

library(tidyverse)

tpxg <- function(x, t, m, b) {
  exp(exp((x - m) / b) * (1 - exp(t / b)))
}

dt <- tidyr::expand_grid(
  x = seq(0, 100),
  live_to_be_old = seq(10, 100, 10)
) |>
  dplyr::filter(x <= live_to_be_old) |>
  dplyr::mutate(
    t = live_to_be_old - x,
    m = 74.18,
    b = 13.99,
    live_to_be_old = as.factor(live_to_be_old),
    p = tpxg(x, t, m, b)
  )
  
 dt
#> # A tibble: 560 × 6
#>        x live_to_be_old     t     m     b       p
#>    <int> <fct>          <dbl> <dbl> <dbl>   <dbl>
#>  1     0 10                10  74.2  14.0 0.995  
#>  2     0 20                20  74.2  14.0 0.984  
#>  3     0 30                30  74.2  14.0 0.963  
#>  4     0 40                40  74.2  14.0 0.921  
#>  5     0 50                50  74.2  14.0 0.841  
#>  6     0 60                60  74.2  14.0 0.699  
#>  7     0 70                70  74.2  14.0 0.479  
#>  8     0 80                80  74.2  14.0 0.221  
#>  9     0 90                90  74.2  14.0 0.0454 
#> 10     0 100              100  74.2  14.0 0.00179
#> # ℹ 550 more rows

dt |>
  ggplot(aes(x, p, color = live_to_be_old)) +
    geom_line() +
    scale_y_continuous(labels = scales::percent_format()) +
    labs(
      x = "возраст, года",
      y = "вероятность, %",
      color = "хочу дожить до `t` лет"
    ) +
    theme_minimal()
plot-1.png
plot-1.png

Да, в книжке этой автор и графики учит строить с легендами довольно подробно. Но в это я особо не вникал (нет потребности).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации