Я использую Stata и пытаюсь вычислить условные средства на основе времени/даты. Для каждого магазина я хочу рассчитать среднее (инвентарь) в год. Если отсутствуют пробелы в пробеге, тогда я хочу взять среднее значение из ближайших двух значений запасов запасов.Stata longwise average
Я использовал (ниже), чтобы получить общее количество средств в магазине, но мне нужно больше детализации.
egen mean_inv = mean(inventory), by (store)
Я также попробовал этот цикл с аналогичными результатами:
by id, sort: gen v1'=_n'
forvalues x = 1/'=n'{
by store: sum inventory if v1==`x'
replace mean_inv= r(mean) if v1==`x'
}
Визуально, я хочу, значит, инвентарь за магазин: (идентификатор магазина не последовательный)
5/1/2003 2/3/2006 8/9/2006 3/5/2007 6/9/2007 2/1/2008
13 18 12 15 24 11
[mean1] [mean2] [mean3] [mean4] [mean5]
store date inventory
1 16750 17
1 18234 16
1 15844 13
1 17111 14
1 17870 13
1 16929 13.5
1 17503 13
4 15987 18
4 15896 16
4 18211 16
4 17154 18
4 17931 24
4 16776 23
12 16426 26
12 17681 17
12 16386 17
12 16603 18
12 17034 16
12 17205 16
42 15798 18
42 16022 18
42 17496 16
42 17870 18
42 16204 18
42 16778 14
33 18053 23
33 16086 13
33 16450 21
33 17374 19
33 16814 19
33 15834 16
33 16167 16
56 17686 16
56 17623 18
56 17231 20
56 15978 16
56 16811 15
56 17861 20
Спасибо за ваш ответ Ник. В то время как я рассчитываю средства в магазине, мне нужно среднее значение в магазине в год. Я пытался сделать это через свое заявление egen. Информация года не является однородной, но я попробую ваши варианты разложения и заполнения. –
Ваши изменения в коде исправить некоторые ошибки, но ввести другие. К сожалению, это никому не поможет. Например, первые две строки в вашем блоке из пяти являются незаконными, но по разным причинам. –