运行 特定年份按四分位数的国家回归
Run a regression of countries by quartiles for a specific year
我正在探索一种我认为会因 GDP 水平而异的效应,数据集具有垂直方向的国家/地区和年份(1960 年至 2015 年),因此每个国家/地区标签位于 55 行。我运行
sort year
by year: egen yrank = xtile(rgdp), nquantiles(4)
每年哪些标签与当年它们占 GDP 的四分位排在一起。我想要 运行 这个:
xtreg fiveyearg taxratio if yrank == 1 & year==1960
这将使我的变量(税率)与仅在 1960 年就处于 GDP 底部四分位数的国家的一些平均 GDP 数据进行回归。因此,即使后来它们增长到足以改变 运行ks,后来的数据仍会在回归池中。遗憾的是,我无法将此代码或任何变体获取到 运行。
我目前的方法是尝试生成一些新变量,如果它们在 1960 年处于底部四分位数,则为带有国家/地区标签 X 的每一行赋予值 1,但我也无法使其工作。我 运行 没有想法,所以我想我会问!
根据您最近的评论,其中描述了(非)预期的行为:
clear
set more off
*----- example data -----
input ///
country year rank
1 1960 2
1 1961 1
1 1962 2
2 1960 1
2 1961 1
2 1962 1
3 1960 3
3 1961 3
3 1962 3
end
list, sepby(country)
*----- what you want -----
// tag countries whose first observation for -rank- is 1
// (I assume the first observation for -year- is always 1960)
bysort country : gen toreg = rank[1] == 1
list, sepby(country)
// run regression conditional on -toreg-
xtreg ... if toreg
如有疑问请勾选help subscripting
。
我正在探索一种我认为会因 GDP 水平而异的效应,数据集具有垂直方向的国家/地区和年份(1960 年至 2015 年),因此每个国家/地区标签位于 55 行。我运行
sort year
by year: egen yrank = xtile(rgdp), nquantiles(4)
每年哪些标签与当年它们占 GDP 的四分位排在一起。我想要 运行 这个:
xtreg fiveyearg taxratio if yrank == 1 & year==1960
这将使我的变量(税率)与仅在 1960 年就处于 GDP 底部四分位数的国家的一些平均 GDP 数据进行回归。因此,即使后来它们增长到足以改变 运行ks,后来的数据仍会在回归池中。遗憾的是,我无法将此代码或任何变体获取到 运行。
我目前的方法是尝试生成一些新变量,如果它们在 1960 年处于底部四分位数,则为带有国家/地区标签 X 的每一行赋予值 1,但我也无法使其工作。我 运行 没有想法,所以我想我会问!
根据您最近的评论,其中描述了(非)预期的行为:
clear
set more off
*----- example data -----
input ///
country year rank
1 1960 2
1 1961 1
1 1962 2
2 1960 1
2 1961 1
2 1962 1
3 1960 3
3 1961 3
3 1962 3
end
list, sepby(country)
*----- what you want -----
// tag countries whose first observation for -rank- is 1
// (I assume the first observation for -year- is always 1960)
bysort country : gen toreg = rank[1] == 1
list, sepby(country)
// run regression conditional on -toreg-
xtreg ... if toreg
如有疑问请勾选help subscripting
。