[R] How to verify char variables contain at least one value

Gerrit Eichner Gerrit.Eichner at math.uni-giessen.de
Thu Jan 2 08:37:49 CET 2014


Hello, Luca,

also a happy new year!

It's not quite clear to me what you want to do, but note first that the 
":"-operator is a short-cut for seq() with by = 1 (look at ?seq), and that 
it usually (!) does not work on columns of data frames. Exception: when 
used for the argument subset of function subset().

Second, you seem to want to check in each row of d2 if there is any entry 
different from "", right?

So, does

> apply( subset( d2, subset = V13:V239), 1, function( x) any( x != ""))

what you want?

  Hth  --  Gerrit

On Thu, 2 Jan 2014, Luca Meyer wrote:

> Happy new year fellows,
>
> I am trying to do something I believe should be fairly straightforward but
> I cannot find my way out.
>
> My dataset d2 is 26 rows by 245 columns, exclusively char variables. I
> would like to check whether at least one column from V13 till V239 (they
> are in numerical sequence) has been filled in, so I try
>
> d2$check <- c(d2$V13:d2$V239)
>
> and/or
>
> d2$check <- paste(d2$V13:d2$V239,sep="")
>
> but I get (translated from Italian):
>
> Error in d2$V13:d2$V239 : argument NA/NaN
>
> I have tried nchar but the same error occurs. I have also tried to run the
> above functions on a smaller variable subset (V13, V14, V15, see below for
> details) just to double check in case some variable would erroneously be in
> another format, but the same occur.
>
>> d2$V13
> [1] ""                ""                ""
> ""                ""                ""                "da -5.1% a -10%"
> ""
> [9] ""                ""                ""
> ""                ""                ""                ""
> ""
> [17] ""                ""                ""
> ""                ""                ""                ""
> ""
> [25] ""                ""
>> d2$V14
> [1] ""                 ""                 ""
> ""                 ""                 ""                 "da -10.1% a -15%"
> ""
> [9] ""                 ""                 ""
> ""                 ""                 ""                 ""
> ""
> [17] ""                 ""                 ""
> ""                 ""                 ""                 ""
> ""
> [25] ""                 ""
>> d2$V15
> [1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
> "" "" ""
>
> Can anyone suggest an alternative function for me to create a variable that
> checks whether there is at least one value for each of the 26 records I
> need to analyze?
>
> Thank you in advance,
>
> Luca
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list