[R] the quick way to report the invalid value

Gabor Grothendieck ggrothendieck at gmail.com
Fri Jun 24 06:33:20 CEST 2005


On 6/23/05, ronggui <0034058 at fudan.edu.cn> wrote:
> for example,in my data d,the value 1:9,NA is valid and the others are invalid.
> and i want to report something like:
> the variable z has invalid value.
> 
> is there any function to do so?
> 
> i though this will work but fails:
> 
> > d
>    x  y  z
> 1   1 NA  1
> 2   2  2  2
> 3   3  3  3
> 4   4  4  4
> 5   5  5  5
> 6   6  6  6
> 7   7  7  7
> 8   8  8  8
> 9   9  9  9
> 10 NA 10  9
> 
> >myfun<-function(x) {
> if(any(a<-match(x,NA,nomatch=0)>0))
> cat(deparse(substitute(x)),"has invalid value","\n")}
> >apply(d,2,FUN=myfun)
> newX[, i] has invalid value
> newX[, i] has invalid value

Try looping over the names of d:

junk <- lapply(names(d), function(n) cat(n, d[,n], "\n"))




More information about the R-help mailing list