[R] remove NAs from list collectively

Johannes Radinger JRadinger at gmx.at
Wed Feb 8 12:33:49 CET 2012


Hi,

lapply(df, function (x) x[!is.na(x)])
thats is really great!

Thank you!

-------- Original-Nachricht --------
> Datum: Wed, 08 Feb 2012 12:01:17 +0100
> Von: Dimitris Rizopoulos <d.rizopoulos at erasmusmc.nl>
> An: Johannes Radinger <JRadinger at gmx.at>
> CC: R-help at r-project.org
> Betreff: Re: [R] remove NAs from list collectively

> Two possibilities are:
> 
> lapply(df, function (x) x[!is.na(x)])
> 
> and
> 
> lapply(df, na.exclude)
> 
> 
> I hope it helps.
> 
> Best,
> Dimitris
> 
> 
> On 2/8/2012 11:54 AM, Johannes Radinger wrote:
> > Hi,
> >
> > I am importing dataframe from an Excel file (xlsx package).
> > The columns contain acutally measurements for single species and
> > the column-length is of variable. As it is imported as a dataframe the
> difference to the "longest" column is filled with NA.
> > To explain it with an example, my dataframe looks like:
> >
> > A<- seq(1:10)
> > B<- c(seq(1:5),rep(NA,5))
> > C<- c(seq(1:7),rep(NA,3))
> >
> > df<- data.frame(A,B,C)
> >
> >
> > Now I'd like to transform that to a list of vectors of different length.
> Therefore I need to remove the NAs collectively from the single
> columns...I tried for transforming:
> >
> > as.list(df)
> >
> > ...but I don't know how can I remove the NAs now? as.list doesn't take
> na.rm=TRUE argument. Is there any ready function to perform such tasks?
> > Or is there a better way then to assign the data to a list of vectors
> with variable length?
> >
> > /johannes
> > --
> >
> > ______________________________________________
> > 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.
> >
> 
> -- 
> Dimitris Rizopoulos
> Assistant Professor
> Department of Biostatistics
> Erasmus University Medical Center
> 
> Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
> Tel: +31/(0)10/7043478
> Fax: +31/(0)10/7043014
> Web: http://www.erasmusmc.nl/biostatistiek/

--



More information about the R-help mailing list