如何在R中编制队列预期寿命数据表?
假设我有这样一个数据帧:如何在R中编制队列预期寿命数据表?,r,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)) Year Age px 1 2019 0 0.99 2 2020 1 0.88 3 2021 2 0.77 如何制作队列预期寿命表,使
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))
Year Age px
1 2019 0 0.99
2 2020 1 0.88
3 2021 2 0.77
如何制作队列预期寿命表,使其看起来像这样:
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))
Year Age px
1 2019 0 0.99
2 2020 1 0.88
3 2021 2 0.77
我建议使用package
dplyr
df%>%
过滤器(作为数字(作为字符(年))-作为数字(作为字符(年龄))==2019)
#一个tibble:3x4
#id年年龄px
#
# 1 1 2019 0 0.99
# 2 5 2020 1 0.88
# 3 9 2021 2 0.77
包括@Ian Campbell的改进。我建议使用包
dplyr
df%>%
过滤器(作为数字(作为字符(年))-作为数字(作为字符(年龄))==2019)
#一个tibble:3x4
#id年年龄px
#
# 1 1 2019 0 0.99
# 2 5 2020 1 0.88
# 3 9 2021 2 0.77
包括@Ian Campbell的改进。我为什么会出现这个错误?(警告信息:在Ops.factor(年份,年龄):“-”对factor没有意义)它起作用了,谢谢!我仍然会收到一个错误(警告消息:NAs是由强制引入的),我认为这是由其中一个年龄为110+引起的,因为在生命表中,他们不计算超过110岁的年龄。虽然这并不重要,但我怎么才能把它去掉呢?我怀疑你是对的@WeiShung。要删除包含NA的行,只需在第二行末尾添加
%>%
,然后在第三行添加一个新的过滤器(!is.NA(Age))
。我再次收到消息,但这次我的数据只运行到2020年,最高年龄只有80岁。(我从1940年开始)所以这不太可能是由110+数据引起的。我的值中没有一个显示NA,如果我忽略了警告,可以吗?当此警告出现时,我的数据是否发生了更改?也许您应该先进行一些数据清理:df$Age为什么我会出现此错误?(警告信息:在Ops.factor(年份,年龄):“-”对factor没有意义)它起作用了,谢谢!我仍然会收到一个错误(警告消息:NAs是由强制引入的),我认为这是由其中一个年龄为110+引起的,因为在生命表中,他们不计算超过110岁的年龄。虽然这并不重要,但我怎么才能把它去掉呢?我怀疑你是对的@WeiShung。要删除包含NA的行,只需在第二行末尾添加%>%
,然后在第三行添加一个新的过滤器(!is.NA(Age))
。我再次收到消息,但这次我的数据只运行到2020年,最高年龄只有80岁。(我从1940年开始)所以这不太可能是由110+数据引起的。我的值中没有一个显示NA,如果我忽略了警告,可以吗?当这个警告出现时,我的数据是否发生了变化?也许你应该先做一些数据清理:df$Age