在Stata中,如果你有这样的数据:
Location Person 1 Gifts Person 2 Gifts Person 3 Gifts Person 4 Gifts
1 2 7 1
2 4 1 12 2
3 5 5 5 5
4 4 1
创建新变量的最简单方法是什么,'over_three_less_than_six'计算每个位置有多少人提供3个或更多礼物但少于6个。我希望它忽略缺失值。因此,在上面的示例中,新列将输出:
over_three_less_than_six
0
1
4
1
答案 0 :(得分:2)
我想在变量命名方面有所不同!我假设变量如gift1
... gift4
gen count = 0
quietly forval j = 1/4 {
replace count = count + inrange(gift`j', 3, 5)
}
另见技术详述
SJ-9-1 pr0046。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。说Stata:Rowwise (帮助rowort,如果安装了rowranks)。 。 。 。 。 。 。 。 。 。 。 N. J.考克斯 Q1 / 09 SJ 9(1):137--157 展示了如何利用函数,egen函数和Mata 用于行方向;引入了rowort和rowranks
.pdf http://www.stata-journal.com/sjpdf.html?articlenum=pr0046
免费提供inlist(gift`j', 3, 4, 5)
也可以代替inrange()
来电。