14
子集数据帧中的丢包因子级别
我有一个包含的数据框factor。当我使用subset或其他索引功能创建此数据框的子集时,将创建一个新的数据框。但是,factor即使/如果新数据帧中不存在变量,该变量将保留其所有原始级别。 在进行刻面绘图或使用依赖于因子水平的函数时,这会引起问题。 从新数据框中的因素中删除级别的最简洁方法是什么? 这是一个例子: 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" …