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

st: AW: parse last command from ado file?

From   "Martin Weiss" <>
To   <>
Subject   st: AW: parse last command from ado file?
Date   Tue, 3 Nov 2009 17:46:56 +0100


If this is all about -tab-, why not

pr tabswap
	version 10.1
	tab `1' `2'
	tab `2' `1'

and yes, I do know I have violated all existing rules for good programming,
but still: Stefan can take this further in any direction he wants to.
- tabswap rep tr- does produce both tables, though...


-----Ursprüngliche Nachricht-----
[] Im Auftrag von
Gesendet: Dienstag, 3. November 2009 17:31
Betreff: st: parse last command from ado file?

Hi Statalisters,

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
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'

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:

*   For searches and help try:

© Copyright 1996–2023 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index