Saya memiliki bingkai data yang mengandung a factor
. Saat saya membuat subset dari subset
kerangka data ini menggunakan atau fungsi pengindeksan lainnya, bingkai data baru dibuat. Namun, factor
variabel mempertahankan semua level aslinya, bahkan ketika / jika mereka tidak ada dalam kerangka data baru.
Ini menyebabkan masalah ketika melakukan faceted plotting atau menggunakan fungsi yang bergantung pada tingkat faktor.
Apa cara paling ringkas untuk menghapus level dari faktor dalam kerangka data baru?
Ini sebuah contoh:
df <- data.frame(letters=letters[1:5],
numbers=seq(1:5))
levels(df$letters)
## [1] "a" "b" "c" "d" "e"
subdf <- subset(df, numbers <= 3)
## letters numbers
## 1 a 1
## 2 b 2
## 3 c 3
# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"