Ошибка "<istmt>: 3499 мм_radial () не найден" - PullRequest
0 голосов
/ 28 апреля 2018

Я установил в Stata 13.1 MP 64bit пакет st0352, который выполняет сопоставление склонностей для переменных непрерывного лечения, и использовал пример, предоставленный авторами.

Затем я запускаю команды, описанные автором в статье в Stata Journal, но я получил ошибку.

Код и результаты можно найти ниже:

use "LotteryDataSet.dta", clear

drop if year6==.
su prize, de
drop if prize >= r(p95)
replace year6 = year6/1000
mat def tp = (10\20\30\40\50\60\70\80\90\100)

set more off

drf agew ownhs owncoll male tixbot workthen yearm1 yearm2 yearm3 yearm4 yearm5 yearm6, ///
outcome(year6) treatment(prize) gpscore(gps) test(L_like) tpoints(tp) numoverlap(3) ///
method(radialpspline) family(gaussian) link(log) nknots(7) det delta(1)

.................. omitted

****************
 DRF estimation 
****************

Radial penalized spline estimator

Run 1  ..                                   (Cpq =         716.46)
Run 2  ..                                   (Cpq =         583.26)
Run 3  ....                                 (Cpq =         594.32)
Run 4  ...                                  (Cpq =         639.28)
Run 5  ..                                   (Cpq =         601.10)

***<istmt>:  3499  mm_radial() not found***

Я не знаю, почему это происходит. Я искал официальный сайт Stata, но ничего не нашел, ссылаясь на mm_radial().

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 28 апреля 2018

Прежде всего, пакет st0352 относится к команде drf , предоставленной сообществом *, что вы не можете уточнить в своем вопросе. Обычно и полезно предоставлять эту информацию с самого начала, поэтому другие знают, что вы не ссылаетесь на официальную встроенную команду.

В комментариях к файлу справки drf авторы просят вас

"Пожалуйста, не забудьте использовать команду запроса на обновление перед запуском этой программы, чтобы убедиться, что у вас установлена ​​актуальная версия Stata. В противном случае эта программа может работать некорректно ..."

Если вы сделали это до с использованием модуля drf и что команда была установлена ​​правильно, то Stata, вероятно, не знает, где искать mata функция mm_radial() и, таким образом, вызывает ошибку.

Вышеупомянутая функция должна содержаться в mata_drf_functions.mata или mata_spacefill_functions.mata. Эти два файла должны быть установлены вместе с модулем.

В командной строке Stata введите:

mata: mata mlib index

И попробуйте снова запустить команду.


EDIT:

Я лучше посмотрел на это, и похоже, что сначала вам нужно создать библиотеку mata самостоятельно.

Поэтому, прежде чем использовать приведенную выше команду, вам нужно выполнить следующее:

clear all
findfile mata_drf_functions.mata
do "`r(fn)'"

findfile mata_spacefill_functions.mata
do "`r(fn)'"

mata: mata mlib create ldrf, dir(PLUS) replace
mata: mata mlib add ldrf *()
...