Re: [R] SAPPLY function XXXX

From: Erik Iverson <eriki_at_ccbr.umn.edu>
Date: Wed, 04 May 2011 15:22:28 -0500

Dan,

> I am attempting to write a function to count the number of non-missing
> values of each column in a data frame using the sapply function. I have the
> following code which is receiving the error message below.
>
>
>> n.valid<-sapply(data1,sum(!is.na))
> Error in !is.na : invalid argument type

That's the FUN argument to sapply, which expects a function. is.na is indeed a function, but !is.na is not a function:

 > !is.na
Error in !is.na : invalid argument type

You need to write your own function to do what you want. Luckily this is easy. Let's write one to count the number of missing values in a vector.

countNAs <- function(x) {

    sum(!is.na(x))
}

Now you have a function that does what you want, so you can use sapply with it.

sapply(data1, countNAs)

You could also do an anonymous (unnamed) function within sapply to the same effect.

sapply(data1, function(x) sum(!is.na(x)))

NB: none of this is tested!

--Erik

>
> Ultimately, I would like for this to be 1 conponent in a larger function
> that will produce PROC CONTENTS style output. Something like...
>
> data1.contents<-data.frame(Variable=names(data1),
> Class=sapply(data1,class),
> n.valid=sapply(data1,sum(!is.na)),
> n.miss=sapply(data1,sum(is.na)))
> data1.contents
>
> Any suggestions/assistance are appreciated.
>
> Thank you,
>
> Daniel
>
> [[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.



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. Received on Thu 05 May 2011 - 06:25:02 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 05 May 2011 - 07:00:05 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive