[R] How to delete only those rows in a dataframe in which all records are missing

Petr PIKAL petr.pikal at precheza.cz
Tue Nov 8 06:41:12 CET 2011


Hi Dennis

Yes you are completely right. Well, we use to say "Quick work is wretched 
work" and this is perfect example.

Regards
Petr

> Hi Petr:
> 
> You might want to double check your post. The OP wanted to remove
> cases where *all* the variables in a row were NA. complete.cases()
> eliminates rows that have *any* NA values. That's why Michael coded it
> the way he did.
> 
> Example:
> 
> dff <- data.frame(x1 = c(1, 2, 3, NA, 4, NA),
>                   x2 = c(NA, 2, 3, NA, 4, 5),
>                   x3 = c(1, 2, 3, NA, 4, NA))
> dff
> dff[complete.cases(dff),]
> dff[!(rowSums(is.na(dff)) == NCOL(dff)), ]
> 
> 
> Cheers,
> Dennis
> 
> 2011/11/7 Petr PIKAL <petr.pikal at precheza.cz>:
> >>
> >> Perhaps something like this will work.
> >>
> >> df[!(rowSums(is.na(df))==NCOL(df)),]
> >
> >
> > Or
> >
> > df[complete.cases(df),]
> >
> > Regards
> > Petr
> >
> >
> >>
> >> Michael
> >>
> >> On Fri, Nov 4, 2011 at 9:27 AM, Jose Iparraguirre
> >> <Jose.Iparraguirre at ageuk.org.uk> wrote:
> >> > Hi,
> >> >
> >> > Imagine I have the following data frame:
> >> >
> >> >> a <- c(1,NA,3)
> >> >> b <- c(2,NA,NA)
> >> >> c <- data.frame(cbind(a,b))
> >> >> c
> >> >   a  b
> >> > 1  1  2
> >> > 2 NA NA
> >> > 3  3 NA
> >> >
> >> > I want to delete the second row. If I use na.omit, that would also
> >> affect the third row. I tried to use a loop and an ifelse clause with
> >> is.na to get R identify that row in which all records are missing, as
> >> opposed to the first row in which no records are missing or the third
> > one,
> >> in which only one record is missing. How can I get R identify the row 
in
> >
> >> which all records are missing? Or, how can I get R delete/omit only 
this
> > row?
> >> > Thanks in advance,
> >> >
> >> > José
> >> >
> >> >
> >> > José Iparraguirre
> >> > Chief Economist
> >> > Age UK
> >> >
> >> > T 020 303 31482
> >> > E Jose.Iparraguirre at ageuk.org.uk<
mailto:Jose.Iparraguirre at ageuk.org.uk
> >>
> >> >
> >> > Tavis House, 1- 6 Tavistock Square
> >> > London, WC1H 9NB
> >> > www.ageuk.org.uk<http://www.ageuk.org.uk> | 
ageukblog.org.uk<http://
> >> ageukblog.org.uk/> | @AgeUKPA<http://twitter.com/ageukpa>
> >> >
> >> >
> >> > Age UK  Improving later life
> >> >
> >> > www.ageuk.org.uk
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > -------------------------------
> >> >
> >> > Age UK is a registered charity and company limited by guarantee,
> >> (registered charity number 1128267, registered company number 
6825798).
> >> Registered office: Tavis House, 1-6 Tavistock Square, London WC1H 
9NA.
> >> >
> >> > For the purposes of promoting Age UK Insurance, Age UK is an 
Appointed
> >
> >> Representative of Age UK Enterprises Limited, Age UK is an Introducer
> >> Appointed Representative of JLT Benefit Solutions Limited and
> > Simplyhealth
> >> Access for the purposes of introducing potential annuity and health 
cash
> >
> >> plans customers respectively.  Age UK Enterprises Limited, JLT 
Benefit
> >> Solutions Limited and Simplyhealth Access are all authorised and
> > regulated
> >> by the Financial Services Authority.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > ------------------------------
> >> >
> >> > This email and any files transmitted with it are confidential and
> >> intended solely for the use of the individual or entity to whom they 
are
> >
> >> addressed. If you receive a message in error, please advise the 
sender
> > and
> >> delete immediately.
> >> >
> >> >
> >> >
> >> > Except where this email is sent in the usual course of our 
business,
> > any
> >> opinions expressed in this email are those of the author and do not
> >> necessarily reflect the opinions of Age UK or its subsidiaries and
> >> associated companies. Age UK monitors all e-mail transmissions 
passing
> >> through its network and may block or modify mails which are deemed to 
be
> > unsuitable.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Age Concern England (charity number 261794) and Help the Aged 
(charity
> >
> >> number 272786) and their trading and other associated companies 
merged
> > on
> >> 1st April 2009.  Together they have formed the Age UK Group, 
dedicated
> > to
> >> improving the lives of people in later life.  The three national Age
> >> Concerns in Scotland, Northern Ireland and Wales have also merged 
with
> >> Help the Aged in these nations to form three registered charities: 
Age
> >> Scotland, Age NI, Age Cymru.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >        [[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.
> >> >
> >> >
> >>
> >> ______________________________________________
> >> 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.
> >
> > ______________________________________________
> > 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