On Sat, 22 Jan 2011 06:16:43 -0800 (PST)
"analys... at hotmail.com" <analys... at hotmail.com> wrote:
c = data.frame(a,b)
mode(c$a)
R> str(c)
'data.frame': ? 2 obs. of ?2 variables:
?$ a: Factor w/ 2 levels "a","b": 1 2
?$ b: num ?1 2
Character vectors are turned into factors by default by data.frame().
OTOH:
R> c = data.frame(a,b, stringsAsFactors=FALSE)
R> mode(c$a) ?
[1] "character"
a = c("a","a","b","b","c")
levels(as.factor(a))
levels(as.factor(a[1:3]))
a = as.factor(a)
levels(a)
Subsetting factors does not get rid of no-longer used levels by default.
OTOH:
R> levels(a[1:3, drop=TRUE])
[1] "a" "b"
or
R> levels(factor(a[1:3]))
[1] "a" "b"
HTH.
Cheers,
? ? ? ? Berwin