В ответе на другой вопрос @Marek опубликовал следующее решение: qaru.site/info/57284/...
dat <- structure(list(product = c(11L, 11L, 9L, 9L, 6L, 1L, 11L, 5L,
7L, 11L, 5L, 11L, 4L, 3L, 10L, 7L, 10L, 5L, 9L, 8L)), .Names = "product", row.names = c(NA, -20L), class = "data.frame")
`levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)
Что производит в качестве вывода:
[1] Generic Generic Bayer Bayer Advil Tylenol Generic Advil Bayer Generic Advil Generic Advil Tylenol
[15] Generic Bayer Generic Advil Bayer Bayer
Это просто распечатка вектора, поэтому для его сохранения вы можете сделать еще более запутанным:
res <- `levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)
Ясно, что это какой-то вызов функции уровней, но я понятия не имею, что делается здесь. Что такое термин для этого колдовства и как увеличить магические способности в этой области?