如何将stata翻译成R

时间:2017-08-01 08:14:48

标签: r variables stata

我需要为一组年份制作数据集,并且每年某个函数将计算值。我有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

1 个答案:

答案 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可能更容易生成,我现在无法想出更好的方法。