[R] Deleting columns based on the number of non-blank observations
David Winsemius
dwinsemius at comcast.net
Sun Jan 18 17:01:12 CET 2009
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 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