colSums(is,na(x) ) can replace your function and negative indexing can eliminate the unwanted columns:

x[-(colSums(is.na(x)) > 375)]

or equivalently:

x[(colSums(is.na(x)) <= 375)]

You could (destructively) assign the result to x if you are brave.

--
David Winsemius
On Jan 18, 2009, at 9:55 AM, Josh B wrote:

Hello,

I have a dataset (named "x") with many (966) columns. What I would like to do is delete any columns that do not have at least 375 non- blank observations (i.e., the cells have some value in them besides NA).

How can I do this? I have come up with the following code to _count_ the non-blank observations in each column, but how would I adapt this code to _delete_ columns from the dataset if they do not have at least 375 non-blank observations?



lapply(x, function(d)
{
d.2<- na.omit(d)
count<- length(d.2)
}
)

Many thanks in advance,
Josh B.



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

Reply via email to