我需要为一组年份制作数据集,并且每年某个函数将计算值。我有STATA的计划,但很难将其翻译成R.年份是从2017年到2025年,2017年的价值为17305004。从那时起,总小时数以每年0.025的固定小时价格增加。 / p>
以下是STATA中的程序:
set obs 9
scalar growth=.025
scalar hourprice=32
egen year = seq(), from(2017) to(2025)
gen totalhours = .
replace totalhours=17305004 if year==2017
replace totalhours=[(totalhours[_n-1] + growth*totalhours[_n-1])] if year!=2017
format %10.0g totalhours
gen cost = .
replace cost=totalhours*hourprice
format %12.0g cost
list year totalhours cost
答案 0 :(得分:0)
year <- 2017:2025
totalhours <- c(17305004, rep(NA, 8))
for(i in 1:8){
totalhours[i+1] <- totalhours[i] + totalhours[i]*.025
}
cost <- totalhours*32
mydata <- data.frame(year, totalhours, cost)
数据集:
> mydata
year totalhours cost
1 2017 17305004 553760128
2 2018 17737629 567604131
3 2019 18181070 581794234
4 2020 18635597 596339090
5 2021 19101486 611247568
6 2022 19579024 626528757
7 2023 20068499 642191976
8 2024 20570212 658246775
9 2025 21084467 674702944
totalhours
可能更容易生成,我现在无法想出更好的方法。