[R] remove NAs from list collectively
JRadinger at gmx.at
Wed Feb 8 12:33:49 CET 2012
lapply(df, function (x) x[!is.na(x)])
thats is really great!
-------- 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)])
> lapply(df, na.exclude)
> I hope it helps.
> 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
> > 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