Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Mata and do files


From   Tirthankar Chakravarty <tirthankar.chakravarty@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Mata and do files
Date   Wed, 10 Aug 2011 15:57:27 -0700

Within Mata functions, variables need to be explicitly declared unless
you -set matastrict off-. So under -set matastrict on-, you would need
to declare each of the variables you use in your function on a
separate line, before being able to use them.

T

On Wed, Aug 10, 2011 at 3:46 PM, Alex Olssen <alex.olssen@gmail.com> wrote:
> Thanks for the help!
>
> Tirthankar your solution works perfectly - the code works
> interactively and from a do file.
>
> One question though, could you explain to me why I need to turn matastrict off?
>
> Nick, you said "price length weight" is not an acceptable argument for
> -st_view()- however typing the following interactively in a new Stata
> session suggests otherwise.
>
> sysuse auto, clear
> mata
> st_view(a=., ., "price length weight")
> a
>
> Am I missing something?
>
> Cheers,
> Alex
>
> On 11 August 2011 09:23, Nick Cox <njcoxstata@gmail.com> wrote:
>> "price length weight" is not an acceptable argument for -st_view()-.
>> You need to tokenize it.
>>
>> I imagine that the do-file approach requires you to leave Mata with an
>> -end- statement.
>>
>> Nick
>>
>> On Wed, Aug 10, 2011 at 10:14 PM, Alex Olssen <alex.olssen@gmail.com> wrote:
>>> Dear Nick,
>>>
>>> You are absolutely correct - it was Statalist.
>>>
>>> I am not sure what you mean by "try tokens("price length weight")."
>>>
>>> I looked at the help file and then tried the following, which again
>>> works interactively but not from a do file...
>>>
>>> sysuse auto, clear
>>> mata
>>> real scalar theta()
>>> {
>>> st_view(a = ., ., tokens("price length weight"))
>>> a_cov = variance(a)
>>> a_eigen = symeigensystem(a_cov, X = ., L = .)
>>> return(L[1]/sum(L))
>>> }
>>> theta()
>>>
>>> Any ideas?
>>>
>>> On 10 August 2011 23:54, Nick Cox <njcoxstata@gmail.com> wrote:
>>>> It's not Stata that bounces your emails; it's Statalist!
>>>>
>>>> Try
>>>>
>>>>  tokens("price length weight")
>>>>
>>>> Nick
>>>>
>>>> On Wed, Aug 10, 2011 at 12:39 PM, Alex Olssen <alex.olssen@gmail.com> wrote:
>>>>> Hi everyone,
>>>>>
>>>>> Apologies to anybody who gets this message twice - I just got an email
>>>>> from Stata telling me my first message was bounced.  I checked the
>>>>> archive and it doesn't appear to have arrived correctly.  In any
>>>>> case...
>>>>>
>>>>> I am trying to learn some Mata and am having difficult running Mata
>>>>> code from a do file.
>>>>>
>>>>> For example I can use the following code interactively, but if I try
>>>>> run it from the do-file editor I get error r(3000).  I have looked
>>>>> around for an answer in [M] and the Statalist archives to no avail.
>>>>>
>>>>> sysuse auto, clear
>>>>> mata
>>>>> real scalar theta()
>>>>> {
>>>>> st_view(a = ., ., "price length weight")
>>>>> a_cov = variance(a)
>>>>> a_eigen = symeigensystem(a_cov, X = ., L = .)
>>>>> return(L[1]/sum(L))
>>>>> }
>>>>> theta()
>>>>>
>>>>> Any help would be greatly appreciated.
>>>>
>>>> *
>>>> *   For searches and help try:
>>>> *   http://www.stata.com/help.cgi?search
>>>> *   http://www.stata.com/support/statalist/faq
>>>> *   http://www.ats.ucla.edu/stat/stata/
>>>>
>>>
>>> *
>>> *   For searches and help try:
>>> *   http://www.stata.com/help.cgi?search
>>> *   http://www.stata.com/support/statalist/faq
>>> *   http://www.ats.ucla.edu/stat/stata/
>>>
>>
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> *   http://www.stata.com/support/statalist/faq
>> *   http://www.ats.ucla.edu/stat/stata/
>>
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>



-- 
Tirthankar Chakravarty
tchakravarty@ucsd.edu
tirthankar.chakravarty@gmail.com

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index