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

Jose Iparraguirre Jose.Iparraguirre at ageuk.org.uk
Fri Nov 4 16:18:13 CET 2011


It does! 
Thanks,
José


-----Original Message-----
From: R. Michael Weylandt [mailto:michael.weylandt at gmail.com] 
Sent: 04 November 2011 15:18
To: Jose Iparraguirre
Cc: r-help at r-project.org
Subject: Re: [R] How to delete only those rows in a dataframe in which all records are missing

Perhaps something like this will work.

df[!(rowSums(is.na(df))==NCOL(df)),]

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.
>
>
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.



More information about the R-help mailing list