我有一个具有因子列的数据框,然后我想使用子集来仅提取其部分数据。但是提取的数据帧的因子列仍然具有相同的级别,即使某些级别没有值。这会影响我的后续操作(例如使用ggplot进行可视化)。
以下是示例代码。
d<-data.frame(c1=factor(c(1,1,2,3)),c2=c("a","b","c","d"))
d<-subset(d,c1 %in% c(1,2))
d$c1
列c1仍然有3个级别(1,2,3),但实际上我想它是(1,2),因为这些对于3级没有价值。然后在可视化中,我不会绘制3级的任何图形。
我怎样才能实现这一目标?感谢
答案 0 :(得分:3)
使用droplevels:
d <- droplevels(d)