Как сохранить среднее значение в локальном макросе, а затем сохранить его в другом файле?

У меня есть файл 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),

Вы, вероятно, должны удалить этот вопрос: он не имеет долгосрочной цели.

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