Определить переменную, если данные панели принимают значение один раз

У меня есть набор данных панели, идентифицируемый переменной id и одной конкретной строковой переменной с разными значениями для каждого периода времени (еженедельно). Не каждый идентификатор представлен на каждой неделе (новые могут приходить, а старые могут исчезать).

Я создал пустышку, когда эта переменная содержит определенный термин, но он фиксирует только одно появление за неделю. То, что я хотел бы иметь, - то, что у каждого идентификатора есть определенный фиктивный элемент, который указывает, содержится ли термин в строковой переменной по крайней мере за одну неделю. Так что в случае, если на неделе 34 id x содержит термин, я хотел бы также иметь пустышку для всех остальных недель, которая показывает "1", так как термин когда-то содержался для id x

Я пробовал форматировать как xtset и замена через F., но это не сработало, как ожидалось.

1 ответ

Я думаю, что вы хотите следующее, учитывая, что вы уже создали term переменная установлена ​​в 1, если строка содержит термин, и (я предполагаю) 0 в противном случае.

by id (time), sort: egen newterm = max(term)
replace term = newterm
drop newterm

by id (time), sort: ... команда запустит egen отдельно для каждого id, egen найдет максимальное значение term для каждого id, так newterm будет 1, если есть term это 1.

Другие вопросы по тегам