Вы всегда можете рассчитать длину заклинаний, а затем использовать ipolate
только условно.Здесь я использую tsspell
из SSC, чтобы вычислить такие длины, введенные искусственно:
webuse grunfeld, clear
set seed 2803
replace invest = . if runiform() < 0.2
tsset company year
* need previous -ssc install tsspell- to run this
tsspell , cond(missing(invest))
egen length = max(_seq), by(company _spell)
tab length
list company year invest if length >= 3, sepby(company _spell)
+-------------------------+
| company year invest |
|-------------------------|
13. | 1 1947 . |
14. | 1 1948 . |
15. | 1 1949 . |
|-------------------------|
41. | 3 1935 . |
42. | 3 1936 . |
43. | 3 1937 . |
+-------------------------+
ipolate invest year if length <= 2, by(company) epolate