Я не уверен, почему Перли доставляет вам такие тяжелые времена, думаю, это может быть то, что вы ищете, но дайте мне знать, если это что-то другое:
Стоит отметить, что я использую набор данных, который поставляется с предустановленной Stata, и это обычно хороший способ сделать MVCE, как Ник говорил в своем другом посте.
clear
sysuse gnp96
/* variables: gnp, date (quarterly) */
gen year = year(dofq(date)) // get yearly variable
gen year2=year^2 // get the square of the yearly variable
tab year if inrange(year,1970,1975), gen(yr) // generate dummy variables
// the dummy varibales generated have null values for years not
// in the specified range, so we're going to fill those in
foreach v of varlist yr* {
replace `v' = 0 if `v' == .
}
// here's your regression
regress gnp year year2 yr* if inrange(year,1967,1990)
Теперь, yr * - это ваши фиктивные переменные, а * - это подстановочный знак, вызывающий все переменные, названные как yr [что-то]
Это дает вам диапазон для фиктивных переменных и диапазон для переменных года.
Что касается вашего вопроса об использовании x против года, я только предполагаю, но я думаю, что когда вы используете x, он непрерывный, так как Stata не смотрит на ваши переменные, а вместо этого только на ось x, тогда как ваша переменная года является дискретным (набор целых чисел), поэтому он больше похож на шаговую функцию. Дополнительную информацию можно найти с помощью команды help twoway function