Indexing bug?
On Wed, May 26, 2010 at 3:27 PM, Duncan Murdoch
<murdoch.duncan at gmail.com> wrote:
Is this expected behaviour?
x <- factor(c("c", "b", "a","c"))
results <- c(c=4, b=5)
results[x]
giving
results[x]
<NA> ? ?b ? ?c <NA> ?NA ? ?5 ? ?4 ? NA (i.e. it appears to give results[levels(x)]
I would say it gives results[as.numeric(x)] and it's not clear if that is less "expected". E.g., what happens if results has no names? results[as.numeric(x)] would still work, but not results[as.character(x)]. Factors have a dual nature (character labels vs numeric codes), and when forced to choose, I think it's reasonable to choose the solution which works more generally. -Deepayan
whereas results[as.character(x)] does what I expected: as.character(x) results[as.character(x)]
as.character(x)
[1] "c" "b" "a" "c"
results[as.character(x)]
?c ? ?b <NA> ? ?c ?4 ? ?5 ? NA ? ?4 Duncan Murdoch
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel