首页 > 解决方案 > 如何在 R 中制作队列预期寿命数据表?

问题描述

假设我有这样的数据框:

df <- data.frame(Year = c(2019,2019,2019,2020,2020,2020,2021,2021,2021), Age = c(0,1,2,0,1,2,0,1,2), px = c(0.99,0.88,0.77,0.99,0.88,0.77,0.99,0.88,0.77))

应该是这样的

> df
  Year Age   px
1 2019   0 0.99
2 2019   1 0.88
3 2019   2 0.77
4 2020   0 0.99
5 2020   1 0.88
6 2020   2 0.77
7 2021   0 0.99
8 2021   1 0.88
9 2021   2 0.77

我如何制作一个队列预期寿命表,使其看起来像这样:

  Year Age   px
1 2019   0 0.99
2 2020   1 0.88
3 2021   2 0.77

标签: r

解决方案


我建议使用包dplyr

df %>%
  filter(as.numeric(as.character(Year)) - as.numeric(as.character(Age)) == 2019)
#  A tibble: 3 x 4
#      id  Year   Age    px
#   <dbl> <dbl> <dbl> <dbl>
# 1     1  2019     0  0.99
# 2     5  2020     1  0.88
# 3     9  2021     2  0.77

包括@Ian Campbell 的改进。


推荐阅读