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, statalist.org is already up and running.


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

Re: st: Drop columns based on an argument


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Drop columns based on an argument
Date   Wed, 27 Mar 2013 19:28:18 +0000

For "columns" read "variables".

Look again at the syntax of -drop-. You can -drop- observations or
variables, so there are two syntaxes, which you can't mix.

But your syntax sounds the wrong way round. It sounds as if you want
something like

forvalues i=2/1285 {
         if var`i'[1]=="#ERROR" {
                  drop var`i'
        }
}

The other problem sounds like

replace id = substr(id, 1, 6) if substr(id, -4, .) == "(PE)"

I've often commented on this list on people trying regex when
something more basic suffices. (There is no -regex- command;
presumably you mean regex functions.)

Nick


On Wed, Mar 27, 2013 at 7:15 PM, thomas bourveau
<thomas.bourveau@gmail.com> wrote:

> I have a dataset that I will have to reshape but I am facing two
> challenges for now. My dataset is currently organized as follows:
>
> The first column (var1) contains different dates.
>
> The next columns (var2-var1285) contains my variable of interest.
> However, the first line contains the identifier of the firm and then
> the value of the variable of interest.
>
>
> My first problem is that some identifiers are not valid, and then the
> first line returns an error message (string format). I want to drop
> all columns with an error message. I have tried the following code:
>
> forvalues i=2(1)1285{
> drop var`i' if var`i'[1]=="#ERROR"
> }
>
> However, it returns the following message: "invalid syntax".
>
> My second problem is that the valid identifiers are of the following
> form, 6 figures ending by (PE):
>
> example : 123456(PE)
>
> I need to eliminate the (PE) at the end of each identifier. I have
> tried to use the regex command but it did not worked well.
*
*   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index