Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: RE: Creating a matrix from an excel sheet with data AND row and column names


From   Kerem Yaman <kerem@yamans.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: RE: Creating a matrix from an excel sheet with data AND row and column names
Date   Thu, 28 Apr 2005 18:54:39 -0700 (PDT)

Perfect thanks very much. I was not familiar with
"levels". Works perfect.
--- Scott Merryman <smerryman@kc.rr.com> wrote:
> Here is one way:  using -levels- to obtain the names
> and -matname- to rename
> the rows.
> 
> . insheet using "C:\Documents and
> Settings\Scott_2\Desktop\foo.txt"
> (4 vars, 3 obs)
> 
> . mkmat var*, matrix(A)
> 
> . matrix list A
> 
> A[3,3]
>     var1  var2  var3
> r1     1     1     2
> r2     2     2     1
> r3     0     0     2
> 
> . levels namesvar , local(names)
> `"coffee"' `"cotton"' `"sugar"'
> 
> . matname A `names', rows(.) explicit
> 
> . matrix list A
> 
> A[3,3]
>         var1  var2  var3
> coffee     1     1     2
> cotton     2     2     1
>  sugar     0     0     2
> 
> Hope this helps,
> Scott
> 
> 
> 
> > -----Original Message-----
> > From: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-
> > statalist@hsphsun2.harvard.edu] On Behalf Of Kerem
> Yaman
> > Sent: Thursday, April 28, 2005 6:58 PM
> > To: statalist@hsphsun2.harvard.edu
> > Subject: st: Creating a matrix from an excel sheet
> with data AND row and
> > column names
> > 
> > I want to use stata to dynamically read historical
> > information from Excel on an expandable list of
> > things and also a matrix that codifies some
> > information on how these things are interrelated
> > which I will later interpret in a do-file.
> > 
> > So e.g., I would try to get stata to build a
> matrix
> > for me by reading an excel sheet that has data in
> > the format of:
> > 
> > namesvar   var1 var2 var3
> > cotton      1    1     2
> > sugar       2    2     1
> > coffee      0    0     2
> > 
> > This data is not of a fixed size but I am happy to
> > keep it always of the same form where namesvar
> lists
> > the names of the variables (same for columns and
> > rows) and the data is ordered in a meaningful way
> so
> > if I add another var like "wheat" to the above
> then
> > I add a column of 4 numbers and a row with "wheat"
> > and also 4 numbers.
> > 
> > I was going to read the sheet with:
> > insheet using "TestNames.csv"
> > 
> > and then do:
> > 
> > mkmat var*, matrix(X)
> > 
> > I can get the data (the numbers) into the matrix.
> > 
> > My question is: How do I get the namesvar into a
> > "list" so I can use it to rename the rows and
> > columns? I have programming experience in other
> > languages but cannot figure out how to do this in
> > stata (beginner in stata programming)
> > 
> > I tried this as follows in a do-file:
> > 
> > local nlist = ""
> > 
> > local tempstr = ""
> > 
> > forval i = 1(1)3 {  *really 3 supposed to be _N
> but
> > trying to keep it simple for debug
> > 
> > list namesvar *debug
> > 
> > disp namesvar[`i'] *debug
> > 
> > local tempstr = namesvar[`i']
> > 
> > local nlist = `nlist' + "`tempstr'"
> > 
> > disp `nlist' *debug
> > 
> > }
> > 
> > But even though the names display correctly, they
> do
> > not work in the "string list builder" line.
> > One more issue I may have is that the number of
> > variables can potentially be rather large like 100
> or
> > so. From what I can see there are limitations to
> the
> > length of strings in Stata. So maybe even if I can
> > solve the above problem I am still stuck with this
> > problem??
> > 
> > *
> > *   For searches and help try:
> > *  
> http://www.stata.com/support/faqs/res/findit.html
> > *   http://www.stata.com/support/statalist/faq
> > *   http://www.ats.ucla.edu/stat/stata/
> 
> 
> *
> *   For searches and help try:
> *  
> http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
> 
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   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   |   What's new   |   Site index