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@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@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.