As of R Under development (unstable) (2018-01-19 r74138): > as.character(list(NA)) [1] "NA" > is.na(as.character(list(NA))) [1] FALSE
On 20 January 2018 at 10:43, Patrick Perry wrote: | As of R Under development (unstable) (2018-01-19 r74138): | | > as.character(list(NA)) | [1] "NA" | | > is.na(as.character(list(NA))) | [1] FALSE Are you aware that this is the same in R-release, and might be "on purpose" ? R> R.Version()$version.string [1] "R version 3.4.3 (2017-11-30)" R> as.character(list(NA)) [1] "NA" R> is.na(as.character(list(NA))) [1] FALSE R> It is after all you who forces the as.character() and I don't think anybody claims that to be a lossless operation from logical. To wit: R> is.na(list(NA)) [1] TRUE R> Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
I believe that for a list as.character() applies deparse() to each element of the list. deparse() does not preserve NA-ness, as it is intended to make text that the parser can read.> str(as.character(list(Na=NA, LglVec=c(TRUE,NA),Function=function(x){x+1}))) chr [1:3] "NA" "c(TRUE, NA)" "function (x) \n{\n x + 1\n}" Bill Dunlap TIBCO Software wdunlap tibco.com On Sat, Jan 20, 2018 at 7:43 AM, Patrick Perry <pperry at stern.nyu.edu> wrote:> As of R Under development (unstable) (2018-01-19 r74138): > > > as.character(list(NA)) > [1] "NA" > > > is.na(as.character(list(NA))) > [1] FALSE > > ______________________________________________ > R-devel at r-project.org mailing list > stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
On 01/20/2018 08:24 AM, William Dunlap via R-devel wrote:> I believe that for a list as.character() applies deparse() to each element > of the list. deparse() does not preserve NA-ness, as it is intended to > make text that the parser can read. > >> str(as.character(list(Na=NA, LglVec=c(TRUE,NA), > Function=function(x){x+1}))) > chr [1:3] "NA" "c(TRUE, NA)" "function (x) \n{\n x + 1\n}" >This really comes as a surprise though since coercion to all the other atomic types (except raw) preserve the NAs. And also as.character(unlist(list(NA))) preserves them. H.> > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > On Sat, Jan 20, 2018 at 7:43 AM, Patrick Perry <pperry at stern.nyu.edu> wrote: > >> As of R Under development (unstable) (2018-01-19 r74138): >> >>> as.character(list(NA)) >> [1] "NA" >> >>> is.na(as.character(list(NA))) >> [1] FALSE >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=VbamM9XRQOlfBakrmlrmQZ7DLgXZ-hhhFeLD-fKpoCo&s=Luhqwpr2bTltIA9Cy7kA4gwcQh16bla0S6OVe3Z09Xo&e>> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=VbamM9XRQOlfBakrmlrmQZ7DLgXZ-hhhFeLD-fKpoCo&s=Luhqwpr2bTltIA9Cy7kA4gwcQh16bla0S6OVe3Z09Xo&e>-- Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319