减去前几行的值:生态生命表构建
Subtracting Values in Previous Rows: Ecological Lifetable Construction
我希望能得到一些帮助。我正在构建一种生活 table,不是为了保险,而是为了生态(任何一种野生动物种群的横截面),所以基本上审查 smoker/non-smoker、怀孕、性别等变量,健康状况等:
AgeClass=C(1,2,3,4,5,6)
SampleSize=c(100,99,87,46,32,19)
for(i in 1:6){
+ PropSurv=c(Sample/100)
+ }
> LifeTab1=data.frame(cbind(AgeClass,Sample,PropSurv))
这给了我这个:
ID AgeClas Sample PropSurv
1 1 100 1.00
2 2 99 0.99
3 3 87 0.87
4 4 46 0.46
5 5 32 0.32
6 6 19 0.19
我现在正在尝试计算每行 (DeathInt
) 中死亡的人数,方法是将幸存者的初始人数减去它下面的数字(即 100-99,然后是 99- 87,然后是 87-46,依此类推)。并尝试看起来像这样:
ID AgeClas Sample PropSurv DeathInt
1 1 100 1.00 1
2 2 99 0.99 12
3 3 87 0.87 41
4 4 46 0.46 14
5 5 32 0.32 13
6 6 19 0.19 NA
我找到了 and this,我不确定他们是否回答了我的问题,因为这些人根据组减去值。我只是想按行减去值。
另外,作为旁注:我做了一个 for() 来获得每个年龄组的存活比例。我想知道是否有另一种方法可以做到这一点,或者那是否是正确、最简单的方法。
第二个注意事项:如果有任何 R 用户知道更简单的生活方式-table 生态,请告诉我!
谢谢!
如果您有一个包含数字的向量 x
,您可以使用 diff
函数计算差值。
你的情况是
LifeTab1$DeathInt <- c(-diff(Sample), NA)
我希望能得到一些帮助。我正在构建一种生活 table,不是为了保险,而是为了生态(任何一种野生动物种群的横截面),所以基本上审查 smoker/non-smoker、怀孕、性别等变量,健康状况等:
AgeClass=C(1,2,3,4,5,6)
SampleSize=c(100,99,87,46,32,19)
for(i in 1:6){
+ PropSurv=c(Sample/100)
+ }
> LifeTab1=data.frame(cbind(AgeClass,Sample,PropSurv))
这给了我这个:
ID AgeClas Sample PropSurv
1 1 100 1.00
2 2 99 0.99
3 3 87 0.87
4 4 46 0.46
5 5 32 0.32
6 6 19 0.19
我现在正在尝试计算每行 (DeathInt
) 中死亡的人数,方法是将幸存者的初始人数减去它下面的数字(即 100-99,然后是 99- 87,然后是 87-46,依此类推)。并尝试看起来像这样:
ID AgeClas Sample PropSurv DeathInt
1 1 100 1.00 1
2 2 99 0.99 12
3 3 87 0.87 41
4 4 46 0.46 14
5 5 32 0.32 13
6 6 19 0.19 NA
我找到了
另外,作为旁注:我做了一个 for() 来获得每个年龄组的存活比例。我想知道是否有另一种方法可以做到这一点,或者那是否是正确、最简单的方法。
第二个注意事项:如果有任何 R 用户知道更简单的生活方式-table 生态,请告诉我!
谢谢!
如果您有一个包含数字的向量 x
,您可以使用 diff
函数计算差值。
你的情况是
LifeTab1$DeathInt <- c(-diff(Sample), NA)