Dalam jawaban untuk pertanyaan lain, @Marek memposting solusi berikut: https://stackoverflow.com/a/10432263/636656
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)
)
Yang menghasilkan sebagai keluaran:
[1] Generic Generic Bayer Bayer Advil Tylenol Generic Advil Bayer Generic Advil Generic Advil Tylenol
[15] Generic Bayer Generic Advil Bayer Bayer
Ini hanyalah cetakan dari sebuah vektor, jadi untuk menyimpannya Anda dapat melakukan yang lebih membingungkan:
res <- `levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)
Jelas ini adalah semacam panggilan ke fungsi level, tapi saya tidak tahu apa yang dilakukan di sini. Apa istilah untuk sihir jenis ini, dan bagaimana cara meningkatkan kemampuan sihir saya di domain ini?
structure(...)
konstruksi daripada hanya data.frame(product = c(11L, 11L, ..., 8L))
? (Jika ada keajaiban terjadi di sana, saya ingin menggunakannya juga!)
"levels<-"
fungsi function (x, value) .Primitive("levels<-")
:, semacam suka X %in% Y
adalah singkatan dari "%in%"(X, Y)
.
names<-
dan[<-
.