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 on April 23, and its replacement, is already up and running.

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

st: RE: RE: AW: copydesc with a twist??

From   "Nick Cox" <>
To   <>
Subject   st: RE: RE: AW: copydesc with a twist??
Date   Sun, 9 May 2010 18:09:14 +0100

Since the point was raised: -copydesc- (SSC) did indeed morph into
-clonevar- (official), although the two don't have identical objectives.
My -njc_stuff- (SSC) contains comments on various offerings, including
the flag that -copydesc- is partially obsolete given -clonevar-. 

But in terms of the problem here, making systematic changes to variable
labels, I'd underline the point of view behind Martin's advice, namely
this will typically be best approached directly with a loop over
variables and macro manipulation. 

Incidentally, -_crcslbl- is a not documented (not even -undocumented-)
official command to copy variable labels, but it wouldn't be a good
solution where you wanted to change them too. 


Ploutz-Snyder, Robert
Indeed, copydesc is an oldie.  But clonevar clones the entire variable,
including the contents.  So using clonevar here would copy over the
variable labels "as-is," without the modification that I desire, and it
would also copy over the CONTENTS of the oldvar to the newvar.

I'm just looking to copy the label from a list of oldvars to a list of
newvars, but also want to add some text to those labels.

Martin Weiss

-ssc d copydesc- looks like old code to me, although it may well serve a
useful purpose, and only got like 35 hits last month. It is # 66 on
hit list (-ssc hot, auth(cox) n(66)-), but no discussion related to it
been recorded in the archive since the end of 2003. That could be
official -clonevar- can do its job more efficiently. Since Nick is the
author of the official command as well, there might be a connection

Ploutz-Snyder, Robert (

I'm looking for a quick way to copy variable labels from a set of
(ex. x1-x100) to a set of new variables (ex. a1-a100), but I need a
modification of the new labels.

Nicholas' copydesc command comes very close, as I can imbed it in a loop

For J in num 1/100: copydesk xJ aJ

But here's the rub.  In this case all of the aJ variables are a
transformation of xJ.  I'd like the transformation to become part of the
variable label too.

Here are two variables as a specific example:

              storage  display     value
variable name   type   format      label      variable label
x2              float  %8.0g                  HeadGy
a2              float  %9.0g                  abs(x2)

I would LIKE the label for a2 to be "abs(HeadGy)"  not "abs(x2)".  I
have a
zillion of these, so I don't want to hand-code them all...

Anyone know of an ado already written to do this?  Or a way to use

*   For searches and help try:

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