2

可能重复:
在 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 级。

我怎样才能做到这一点?谢谢

4

1 回答 1

3

使用droplevels:

d <- droplevels(d)

于 2012-10-23T01:47:17.650 回答