Gabor Grothendieck <[EMAIL PROTECTED]> writes: > BXC (Bendix Carstensen <bxc <at> steno.dk> writes: > : > : > From: r-help-bounces <at> stat.math.ethz.ch > : > [mailto:r-help-bounces <at> stat.math.ethz.ch] On Behalf Of Robert > : > > : > I have a data set of about 10000 records which was compiled > : > from several smaller data sets using SPSS. During compilation > : > 88 false records were accidentally introduced which comprise > : > all NA values. I want to delete these records but not other > : > missing data. The functions na.exclude and na.omit seem to > : > remove all values of NA? How can I delete just the relevant > : > NA's? . i.e. I want to delete all records in the data frame > : > DATA where the field age contains NA values > : > : How about: > : > : all.nas <- apply( old, 1, function(x) sum( is.na( x ) ) ) > : new <- old[all.nas < dim( old )[2], ] > > A minor simplification of this might be: > > x[rowSums(is.na(x)) < ncol(x),]
If you want to get sneaky, there's also x[!!rowSums(!is.na(x)),] although I think I'd prefer x[apply(!is.na(x),1,any),] -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html