如何清理/重建R中的因子

时间:2012-10-23 01:46:10

标签: r

  

可能重复:
  dropping factor levels in a subsetted data frame in R

我有一个具有因子列的数据框,然后我想使用子集来仅提取其部分数据。但是提取的数据帧的因子列仍然具有相同的级别,即使某些级别没有值。这会影响我的后续操作(例如使用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级的任何图形。

我怎样才能实现这一目标?感谢

1 个答案:

答案 0 :(得分:3)

使用droplevels:

d <- droplevels(d)