Jose Iparraguirre
2011-Nov-04 13:27 UTC
[R] How to delete only those rows in a dataframe in which all records are missing
Hi, Imagine I have the following data frame:> a <- c(1,NA,3) > b <- c(2,NA,NA) > c <- data.frame(cbind(a,b)) > ca 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@ageuk.org.uk<mailto:Jose.Iparraguirre@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. Michael Weylandt
2011-Nov-04 15:17 UTC
[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. > >
Jose Iparraguirre
2011-Nov-04 15:18 UTC
[R] How to delete only those rows in a dataframe in which all records are missing
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.
Petr PIKAL
2011-Nov-07 10:21 UTC
[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)),]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 thirdone,> 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 thisrow?> > 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 andSimplyhealth> 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 andregulated> 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 senderand> 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 beunsuitable.> > > > > > > > > > > > Age Concern England (charity number 261794) and Help the Aged (charity> number 272786) and their trading and other associated companies mergedon> 1st April 2009. Together they have formed the Age UK Group, dedicatedto> 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 guidehttp://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 guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
Petr PIKAL
2011-Nov-08 05:41 UTC
[R] How to delete only those rows in a dataframe in which all records are missing
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 rowin> > > >> which all records are missing? Or, how can I get R delete/omit onlythis> > 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 number6825798).> >> Registered office: Tavis House, 1-6 Tavistock Square, London WC1H9NA.> >> > > >> > For the purposes of promoting Age UK Insurance, Age UK is anAppointed> > > >> 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 healthcash> > > >> plans customers respectively. Age UK Enterprises Limited, JLTBenefit> >> 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 theyare> > > >> addressed. If you receive a message in error, please advise thesender> > and > >> delete immediately. > >> > > >> > > >> > > >> > Except where this email is sent in the usual course of ourbusiness,> > 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 transmissionspassing> >> through its network and may block or modify mails which are deemed tobe> > unsuitable. > >> > > >> > > >> > > >> > > >> > > >> > Age Concern England (charity number 261794) and Help the Aged(charity> > > >> number 272786) and their trading and other associated companiesmerged> > 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 mergedwith> >> 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 guidehttp://www.R-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. > >
Possibly Parallel Threads
- Arimax with intervention dummy and multiple covariates
- error while extracting the p-value from adf.test
- anova test for variables with different lengths
- Is there a function that runs AR model with Schwarz Bayesian Information Criteria (BIC)?
- Boxplot Labels OK