KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
An example of a non-settable function would be labels . You can only set factor labels when they are created with the factor() function. There is no labels<- function. Not that 'labels' and 'levels' in factors make any sense.... > fac <- factor(1:3, labels=c("one", "two", "three")) > fac [1] one two three Levels: one two three > labels(fac) [1] "1" "2" "3" OK, I asked for labels, which one might assume were as set by the factor call, but I get something quite ... what's the word, unintuitive? > levels(fac) [1] "one" "two" "three" So it appears that setting labels is really setting levels. > fac <- factor(1:3, levels=c("one", "two", "three")) > levels(fac) [1] "one" "two" "three" OK that is as expected. So what are labels when one sets levels? > fac <- factor(1:3, levels=c("one", "two", "three"), labels=c("x","y", "z") ) > labels(fac) [1] "1" "2" "3" > levels(fac) [1] "x" "y" "z" It would seem that 'labels' arguments for factor() trump any 'levels' arguments for the specification of levels. Why should this be? And why does labels() return what I would have imagined to be retrieved with as.character(as.numeric(fac)) ? (This was a tangential comment [labelled as such] in an earlier answer about assignment functions to which I was asked to move to a question. So here's your opportunity to enlighten me.)
Tags (comma-separated)
Save Edits
Cancel