[R] NA rows appeared in data.frame

Rui Barradas
Sat, 12 Jan 2019 11:54:51 -0000

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 at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide