[Rd] Unexpected result of as.character() and unlist() applied to a data frame

Liaw, Andy andy_liaw at merck.com
Tue Mar 27 16:03:04 CEST 2007


Given that the behavior is exactly as I expected it be, I would call
that "feature" (and IMHO not a very special one).  The two data frames
are just different (try str() on them:  A in dd is factor, while A in
dd2 is character), so I don't know why you'd expect unlist() on them to
give you the same answer.

Andy

From: hpages at fhcrc.org
> 
> Hi,
> 
> > dd <- data.frame(A=c("b","c","a"), B=3:1) dd
>   A B
> 1 b 3
> 2 c 2
> 3 a 1
> > unlist(dd)
> A1 A2 A3 B1 B2 B3
>  2  3  1  3  2  1
> 
> Someone else might get something different. It all depends on 
> the values of its 'stringsAsFactors' option:
> 
> > dd2 <- data.frame(A=c("b","c","a"), B=3:1, stringsAsFactors=FALSE)
> > dd2
>   A B
> 1 b 3
> 2 c 2
> 3 a 1
> > unlist(dd2)
>  A1  A2  A3  B1  B2  B3
> "b" "c" "a" "3" "2" "1"
> 
> Same thing with as.character:
> 
> > as.character(dd)
> [1] "c(2, 3, 1)" "c(3, 2, 1)"
> > as.character(dd2)
> [1] "c(\"b\", \"c\", \"a\")" "c(3, 2, 1)"
> 
> Bug or "feature"?
> 
> Note that as.character applied directly on dd$A doesn't have 
> this "feature":
> 
> > as.character(dd$A)
> [1] "b" "c" "a"
> > as.character(dd2$A)
> [1] "b" "c" "a"
> 
> Cheers,
> H.
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> 
> 


------------------------------------------------------------------------------
Notice:  This e-mail message, together with any attachments,...{{dropped}}



More information about the R-devel mailing list