Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中编制队列预期寿命数据表?_R - Fatal编程技术网

如何在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