I was banging my head for an hour on this. I just pasted the code into an email and see that I was getting the contents of the SEXP for the factor, not the one returned by getAttrib. Sorry for the waste of time.
On Oct 24, 2012, at 4:16 PM, Simon Urbanek <simon.urba...@r-project.org> wrote: > > On Oct 24, 2012, at 2:14 PM, Mark Lilback wrote: > >> I'm working on an R package in C and can't seem to get the same level >> information about a factor that the R console displays. >> >> If I define a factor as: >> >> lvls <- factor(c('red','blue','blue','green','red'), >> c('blue','green','red'), ordered=TRUE) >> >> When I get the "levels" attribute in C, I get back the the first vector, not >> the second. > > What are you using in C? AFAICS it works just fine: > >> f=cfunction(c(foo="factor"), "return getAttrib(foo, R_LevelsSymbol);") >> f(lvls) > [1] "blue" "green" "red" > -- Mark Lilback West Virginia University Department of Statistics mlilb...@stat.wvu.edu ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel