Как выполнить многострочный выбор в do-файловом редакторе Stata?

#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-файлах»