0

如果我有 1932 年到 2012 年的每一年的数据,我如何在 Stata 中只保留 1946 年到 2012 年的偶数年?我尝试了以下方法:

keep if year == 1946(2)2012 

但这似乎没有帮助。

4

1 回答 1

0

您收到的代码错误是:unknown function 1946(). Stata 认为1946是一个函数,因为它后面跟着一个左括号。它期待一个表达式,函数可以是表达式的一部分。但是,您给它一个numlist ( help numlist),这是不允许的。

一个有效的例子:

clear 
set more off

*----- example data -----

set obs 81
egen year = seq(), from(1932) to(2012)

list

*----- what you want -----

keep if mod(year,2) == 0 & year >= 1946

list

注意我使用了一个(合法的)函数,即模函数。

于 2014-11-11T23:30:31.713 回答