typeof applied to a factor always seems to return "integer",
independently of the type of the levels.
This has a strange side effect.
When a variable is "imported" into a data frame,
its type changes.
character variables automatically are converted
to factors when imported into data frames.

Here is an example:

> v1<-1:3
> v2<-c("a","b","c")
> df<-data.frame(v1,v2)
> typeof(v2)
[1] "character"
> typeof(df$v2)
[1] "integer"

It is somewhat surprising that
the types of v2 and df$v2 are different.

the answer is to do
levels(df$v2)[df$v2]
but that is somewhat involved.

Should the types not be identical, and typeof applied to factors
return the type of the levels?


-- Erich Neuwirth, Computer Supported Didactics Working Group Visit our SunSITE at http://sunsite.univie.ac.at Phone: +43-1-4277-38624 Fax: +43-1-4277-9386

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to