Примером не устанавливаемой функции будет labels
. Вы можете устанавливать метки факторов только тогда, когда они создаются с помощью фактор-функции. Нет функции labels<-
. Не то, чтобы "метки" и "уровни" в факторах имели смысл...
> fac <- factor(1:3, labels=c("one", "two", "three"))
> fac
[1] one two three
Levels: one two three
> labels(fac)
[1] "1" "2" "3"
ОК, я попросил лейблы, которые можно было бы предположить, были установлены множителем, но я получаю что-то совершенно... какое слово, неинтуитивное?
> levels(fac)
[1] "one" "two" "three"
Итак, кажется, что установочные метки действительно устанавливают уровни.
> fac <- factor(1:3, levels=c("one", "two", "three"))
> levels(fac)
[1] "one" "two" "three"
ОК, что и ожидалось. Итак, каковы метки при наборе уровней?
> 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"
Эффектно странно, если вы спросите меня. Похоже, что аргументы "меток" для коэффициента trump содержат любые "уровни" аргументов для спецификации уровней. Почему это должно быть? Кажется, это путаная терминология. И почему labels()
возвращает то, что я мог бы себе представить, используя as.character(as.numeric(fac))?
(Это был тангенциальный комментарий [помеченный как таковой] в более раннем ответе о функциях присваивания, на который меня попросили перейти к вопросу. Итак, вот ваша возможность просветить меня.)