2014-12-16 2 views
-1

Я пытаюсь выполнить t-тест для значений, которые я сохранил в скалярах, которые я извлек из регрессионного анализа на панели данных панели (см. Пример кода A). но Stata не позволяет мне использовать скалярные имена в качестве имен переменных (ошибка: 'Type7df' found where integer expected). Есть ли способ использовать скалярные значения вместо их имен?Использование скалярного значения в Stata

. display Type7df 
3506 

. display Type7b 
-.14521431 

. display Type7se 
.05345269 

. display Type8df 
3403 

. display Type8b 
-.00643857 

. display Type8se 
.06156362 

**. ttesti Type7df Type7b Type7se Type8df Type8b Type8se 

Привели ошибки:

'Type7df' found where integer expected 

r(7);** 

Пример кода 1:

xtreg maxofact NCLB Asian_P White_P Black_P Hispanic_P economic_P atRisk_P teachers_P funds if types ==7, fe 
estimates store fixed7, title(Non-Metro: Stable) 
matrix Type7Mx = r(table) 
matrix list r(table) 
scalar Type7b = Type7Mx[1,1] 
scalar Type7se = Type7Mx[2,1] 
scalar Type7df = Type7Mx[7,1] 
.... 
+1

Различные путаницы здесь. (1) В Stata скаляры не квалифицируются как переменные; если вы хотите рассматривать их как переменные, потому что это ваша личная терминология программирования, это хорошо для вас, но не соответствует концепциям Stata. (2) Команда 'ttesti', которую вы используете, не ожидает, что переменные будут называться; он ожидает числовые аргументы. Следовательно, отчет о том, что Stata не позволит использовать скаляры, как если бы они были переменными, не учитывает точку; проблема в том, что 'ttesti' не будет оценивать скаляры для вас. Ответ @Dimitriy V. Masterov показывает, как гарантировать, что 'ttesti' видит числовые аргументы. –

+0

(Я отредактировал небольшие слайды, но прокомментировал выше более заметные путаницы.) –

ответ

3

Вы должны разыменовать скаляр. Вот пример:

sysuse auto, clear 
sum price 
scalar obs = r(N) 
scalar mean = r(mean) 
scalar sd = r(sd) 
scalar value = 10000 
ttesti `=obs' `=mean' `=sd' `=value' 

ttest price=10000 

Однако, если вы просто хотите проверить коэффициенты, почему бы не сделать это напрямую?

+0

Это сработало, это именно то, что я искал. спасибо за помощь. – OAM

+0

Я сравниваю различные группы регрессионных ставок, чтобы узнать, отличается ли изменение после определенного события для разных групп. поэтому я запускаю различную регрессию для каждой группы, а затем сравниваю бета-версии фиктивного события, чтобы увидеть, повлияло ли событие на каждую группу. Я уверен, что есть лучшие способы. Кто-то предложил использовать контраст и поля, чтобы помочь мне оценить анализ воздействия, и в настоящее время я изучаю его ... еще раз спасибо ... – OAM