Как сохранить среднее значение в локальном макросе, а затем сохранить его в другом файле?
У меня есть файл Stata file1.dta
и одна из переменных income
, Мне нужно рассчитать average_income
назначьте его локальному макросу и сохраните в другом файле Stata, New.dta
,
Я попробовал следующее в do
файл:
#delimit;
clear;
set mem 700m;
use file1.dta;
local average_income = mean income;
use New.dta;
gen avincome = average_income;
Однако это не работает.
2 ответа
Решение
Один из способов сделать это будет следующим:
#delimit;
clear;
set mem 700m;
use file1.dta;
quietly: summarize income;
local average_income = r(mean);
use New.dta;
gen avincome = `average_income';
Это совпадает с другим вашим постом, а именно Как извлечь данные из нескольких файлов Stata?, Вы не говорите, почему вы думаете
use file1.dta;
local average_income = mean income;
будет работать, но вторая строка - просто фантазийный синтаксис. Существуют различные способы вычисления среднего значения переменной, наиболее распространенным из которых является использование summarize
и забрать среднее из r(mean)
,
Вы, вероятно, должны удалить этот вопрос: он не имеет долгосрочной цели.