Saya memiliki bingkai data yang mengandung a factor. Saat saya membuat subset dari subsetkerangka data ini menggunakan atau fungsi pengindeksan lainnya, bingkai data baru dibuat. Namun, factorvariabel 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"