#stata
#stata
Вопрос:
Кто-нибудь знает, как использовать функцию «выполнить выбор» в редакторе do-файлов Stata для кода, который занимает несколько строк? В настоящее время я не могу найти способ сделать это без использования системы #delimit;, которая требует повторения «delimit;» в начале каждого блока, который я хочу запустить. Любые предложения приветствуются!
Комментарии:
1. Если ваша проблема заключается в том, что вы все время просто печатаете
#delimit ;
, вы можете добавить это в profile.do (см.help profile
)
Ответ №1:
Я полагаю, что вы, возможно, неправильно понимаете #delimit ;
команду: это полезно, когда вы кодируете do-файл, чтобы впоследствии выполнить его полностью. Я также предполагаю, что вы используете Stata 11, поскольку предыдущие версии ведут себя по-другому (если я правильно помню, Stata 10 SE для Mac, например, не поддерживает //
комментарии и разделители).
Если вы выполняете только часть кода, используйте ///
в конце строки, чтобы продолжить выполнение команды в следующей.
Базовый пример (который очистит все открытые данные, так что будьте осторожны):
sysuse lifeexp, clear
sc lexp safewater, ///
mlab(country);
Это должно выполняться безупречно, даже если вы выполняете sysuse
команду и sc
( scatter
) команды по отдельности. У sc
команды есть mlab
опция (добавлять метки к точкам данных) в другой строке, но обе строки будут интерпретироваться как только одна команда из-за ///
указания.
Надеюсь, это поможет!
Комментарии:
1. Обратите внимание, что
///
это относится только к файлам .do и .ado. Это не работает из окна командной строки в interactive Stata. Все это задокументировано в руководстве .pdf «16.1.3 Длинные строки в do-файлах»