如果我有 1932 年到 2012 年的每一年的数据,我如何在 Stata 中只保留 1946 年到 2012 年的偶数年?我尝试了以下方法:
keep if year == 1946(2)2012
但这似乎没有帮助。
如果我有 1932 年到 2012 年的每一年的数据,我如何在 Stata 中只保留 1946 年到 2012 年的偶数年?我尝试了以下方法:
keep if year == 1946(2)2012
但这似乎没有帮助。
您收到的代码错误是: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
注意我使用了一个(合法的)函数,即模函数。