Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


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

Re: st: using matrix as lookup table


From   Sergiy Radyakin <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: using matrix as lookup table
Date   Wed, 22 Jan 2014 19:41:14 -0500

Dear Anne Marie,
you are using the wrong quotes for local. Check the closing quote.
Also reading rowsof() and colsof() doesn't make sense in your program,
since you never use the read values, but rather hardcoded constants.
It's a matter of taste and convention, but i is often the row index,
and j the column index. Just as x is usually the horizontal
coordinate, and y - vertical.

Something like this works, (see below).

Best, Sergiy Radyakin


matrix xchgrates=2.4, 2.9, 10.7 \ 4.1, 3.0, 12.0

local jmax=colsof(xchgrates)
local imax=rowsof(xchgrates)

sysuse auto, clear
generate int year=foreign+1
generate int curcd=rep78
generate revt=price
generate revtUSD=.

forvalues i=1/`imax' {
            forvalues j=1/`jmax' {
                         quietly replace revtUSD=revt*xchgrates[`i',
`j'] if curcd==`j' & year==`i'
            }
}

On Wed, Jan 22, 2014 at 6:44 PM, Knott, Anne Marie <[email protected]> wrote:
> I'm trying to use a matrix of exchange rates as a lookup table for another database.  I've created and verified the matrix, and am following the command structure in Cox 2012 to call it, but I keep getting the following error message:
>
> `j' is an invalid name.
>
> I deleted all the j references, but then got the same error message for i.  I've tried alternative names, so assume the problem is with the quotes--I'm using a mac.
>
> Here's the code:
>
>
> local i=colsof(xchgrates)
>
> local j=rowsof(xchgrates)
>
> forvalues i=1/89 {
>
>             forvalues j=1/26 {
>
>                         quietly replace revtUSD=revt*xchgrates[`j’, `i’] if curcd==`i’ & year==`j’
>
>
>             }
>
> }
>
> thanks for your help.
>
>
> Anne Marie Knott
> Professor of Strategy
> Olin Business School
> Washington University in St. Louis
> Campus Box 1133
> One Brookings Drive
> St. Louis, MO   63130-4899
> (314) 935-4679
> [email protected]
> <http://apps.olin.wustl.edu/faculty/knott/>website<http://apps.olin.wustl.edu/faculty/knott/>
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index