如何解决有了这些等式,如果我们知道一年中每个部门的初始工作人数,我们就可以估算出以下所有部门的人数
示例:
> M <- matrix(c(0.75,0.2,0.12,0.1,0.55,0.22,0.15,0.25,0.66),ncol = 3,byrow = T)
> init <- c(30000,40000,30000) # initial number of workers
> fenwick_workforce(10,init,M)
我怎样才能得到低于输出的结果?
Agro Inds Serv
1 30000 40000 30000
2 34100 31600 34300
3 36011 28336 35653
4 36954 27030 36017
5 37444 26486 36072
6 37709 26248 36046
7 37857 26137 36009
8 37941 26083 35979
9 37990 26055 35958
10 38018 26040 35945
11 38035 26032 35936
解决方法
没有太多关于 fenwick_workforce
函数功能的信息,但根据您的输出,它看起来 M 是一个马尔可夫转换矩阵。
您可以通过将前一行乘以转置转换矩阵来从输出中获取每一行。
以下代码输出预期:
M <- matrix(c(0.75,0.2,0.12,0.1,0.55,0.22,0.15,0.25,0.66),ncol = 3,byrow = T)
init <- c(30000,40000,30000)
Y <- matrix(NA,nrow=11,ncol=ncol(M))
Y[1,] <- init
for (i in 2:nrow(Y)) {
Y[i,] <- Y[i-1,] %*% t(M)
}
Y
输出
> Y
[,1] [,2] [,3]
[1,] 30000.00 40000.00 30000.00
[2,] 34100.00 31600.00 34300.00
[3,] 36011.00 28336.00 35653.00
[4,] 36953.81 27029.56 36016.63
[5,] 37443.27 26485.30 36071.44
[6,] 37708.08 26246.96 36044.96
[7,] 37855.85 26136.53 36007.63
[8,] 37940.11 26082.35 35977.54
[9,] 37988.85 26054.36 35956.78
[10,] 38017.33 26039.28 35943.40
[11,] 38034.06 26030.88 35935.06
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。