Dear Rui and Petr, Thank you for taking time and effort to help.
Rui's solution is an effective workaround so that I can continue to work with the data. However, the appearance of these NA rows (with NA rownames) is clearly errorneous (possibly a bug behaviour due to R base code). What I am interested is a solution that removes these NA rows. The reasons is because (1) prior to the NA assignment, one does not need to test for NA value. (2) Besides, sometimes these NA values are needed as part of the data to indicate that the missing data. > t1[t1$Petal.Width==1.8, "Petal.Width"] <- NA Petr's solution is also not apt in my case, because it removes 12 rows that have NA values in "Petal.Width". I would like a solution that keeps the 150 rows, but not the mysterious 12 rows with all NA values in all columns. Once again, I appreciate your suggestions and I am hoping that this 'errorneous' behaviour has a fix. Cheers, Ernest On Mon, Jan 14, 2019 at 4:25 PM PIKAL Petr <petr.pi...@precheza.cz> wrote: > > Hi > > If you want to remove rows with NA values from your data you could use > > ?complete.cases > > or > > t2 <- t1[!is.na(t1$Petal.Width),] > > Cheers > Petr > > > -----Original Message----- > > From: R-help <r-help-boun...@r-project.org> On Behalf Of Rui Barradas > > Sent: Saturday, January 12, 2019 12:55 PM > > To: Ernest Han <ernest....@gmail.com>; r-help@r-project.org > > Subject: Re: [R] NA rows appeared in data.frame > > > > Hello, > > > > You have to test for NA. Some (12) of the values of t1$Petal.Width are NA > > therefore t1$Petal.Width == 2.0 alone returns 12 NA values. > > > > t1[t1$Petal.Width == 2.0 & !is.na(t1$Petal.Width == 2.0), ] > > > > Or use which(t1$Petal.Width == 2.0). > > > > t1[which(t1$Petal.Width == 2.0), ] > > > > > > Hope this helps, > > > > Rui Barradas > > > > Às 08:23 de 12/01/2019, Ernest Han escreveu: > > > Dear All, > > > > > > After replacing some values in a data.frame, NAs rows have appeared > > > and cannot be removed. I have googled these issues and found that > > > several people have encountered it. Solutions in stackoverflow seem to > > > provide work-arounds but does not remove it from the data.frame. > > > Therefore, I am turning to experts in this community for help. > > > > > > The code is as follows, > > > > > >> t1 <- iris > > >> t1[t1$Petal.Width==1.8, "Petal.Width"] <- NA t1[t1$Petal.Width == > > >> 2.0, ] > > > Sepal.Length Sepal.Width Petal.Length Petal.Width Species > > > NA NA NA NA NA <NA> > > > NA.1 NA NA NA NA <NA> > > > NA.2 NA NA NA NA <NA> > > > NA.3 NA NA NA NA <NA> > > > 111 6.5 3.2 5.1 2 virginica > > > 114 5.7 2.5 5.0 2 virginica > > > NA.4 NA NA NA NA <NA> > > > 122 5.6 2.8 4.9 2 virginica > > > 123 7.7 2.8 6.7 2 virginica > > > NA.5 NA NA NA NA <NA> > > > NA.6 NA NA NA NA <NA> > > > NA.7 NA NA NA NA <NA> > > > NA.8 NA NA NA NA <NA> > > > 132 7.9 3.8 6.4 2 virginica > > > NA.9 NA NA NA NA <NA> > > > NA.10 NA NA NA NA <NA> > > > 148 6.5 3.0 5.2 2 virginica > > > NA.11 NA NA NA NA <NA> > > > > > > ## Twelve values were replaced, twelve NA rows appeared. > > > > > > ### MISC INFO ### > > >> sessionInfo() > > > R version 3.4.0 (2017-04-21) > > > Platform: x86_64-apple-darwin16.5.0 (64-bit) Running under: macOS > > > 10.14.2 > > > > > > Matrix products: default > > > BLAS: > > > /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ > > > vecLib.framework/Versions/A/libBLAS.dylib > > > LAPACK: > > > /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ > > > vecLib.framework/Versions/A/libLAPACK.dylib > > > > > > locale: > > > [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 > > > > > > attached base packages: > > > [1] stats graphics grDevices utils datasets methods base > > > > > > loaded via a namespace (and not attached): > > > [1] compiler_3.4.0 tools_3.4.0 > > >> Sys.getlocale() > > > [1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8" > > > > > > > > > Thank you, > > > Ernest > > > > > > ______________________________________________ > > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > > 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@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních > partnerů PRECHEZA a.s. jsou zveřejněny na: > https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about > processing and protection of business partner’s personal data are available > on website: https://www.precheza.cz/en/personal-data-protection-principles/ > Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a > podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: > https://www.precheza.cz/01-dovetek/ | This email and any documents attached > to it may be confidential and are subject to the legally binding disclaimer: > https://www.precheza.cz/en/01-disclaimer/ > ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.