@kohske: я знаю, но вода все еще мутит ...
ром не устанавливаемой функции будет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"
Странно, если вы спросите меня. Казалось бы, аргументы «меток» для фактора превосходят любые аргументы «уровней» для спецификации уровней. Почему это должно быть? Похоже, запутанная терминология. И почемуlabels()
Вернуть то, что я хотел бы получить с as.character (as.numeric (fac))?
(Это был тангенциальный комментарий [помеченный как таковой) в предыдущем ответе о функциях присваивания, к которым меня попросили перейти к вопросу. Итак, у вас есть возможность просветить меня.)