1

在 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
4

1 回答 1

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(帮助rowsort,如果安装了rowranks)。. . . . . . . . . . NJ Cox Q1/09 SJ 9(1):137--157 展示了如何利用函数、egen 函数和 Mata 进行逐行工作;引入rowsort和rowranks

.pdf 在http://www.stata-journal.com/sjpdf.html?articlenum=pr0046免费提供

inlist(gift`j', 3, 4, 5)

也可以代替inrange()通话。

于 2013-01-28T15:23:14.147 回答