Statalist


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

st: RE: parse last command from ado file?


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: parse last command from ado file?
Date   Tue, 3 Nov 2009 17:23:07 -0000

You might like to look at -storecmd- from SSC and in turn at what 
it uses. 

Personally, I think these solutions are usually not worth the trouble
they cause. 

A more interesting line of attack, I suggest, is automatically to check
number of values of each variable and then work out which variable is
passed to -tabulate- first. That's probably what you have in mind in
your closing comments. 

Nick 
[email protected] 

[email protected]

working in the review window is it possible to access the last command
from an ado file? 

My example:
I create a lot of bivariate tables from the review window and e.g. later
copy them to a spreadsheet. 
Often tables are too wide but fit with rows and columns interchanged.

sysuse auto
tab rep78 trunk // too wide
tab trunk rep78 // fits

I thought about sparing some typing by writing a small ado that swaps
rows and columns of the last shown table. 

For this I need to parse the last command inside the ado. If for
instance I could have it in a global (without typing the next line, of
course)
global tabcmd "tab rep78 trunk, row col"


...I could write a program like this:
program define tt
local commapos = strpos("$tabcmd",",")
local options = substr("$tabcmd",`commapos',.)
local commapos1 = `commapos' - 1
local tabc = substr("$tabcmd'",1, `commapos1')
di "`tabc'"
local tab : word 1 of `tabc'
local var1 : word 3 of `tabc'
local var2 : word 2 of `tabc'
`tab' `var1' `var2' `options'
end

and exchange rows and columns of the last table by simply typing "tt".
(A more sophisticated program could also swap row and column options and
so on)


*
*   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–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index