如何从因子变量(和ggplot图表)中删除NA?

时间:2013-07-02 00:34:19

标签: r ggplot2 missing-data

我在因子变量中遇到NA问题,因为ggplot将它们包含在图中,就好像它们是另一个类别/级别一样。我想删除丢失的数据。 对不起,我目前没有方便的代码,我试图从我在data()找到的数据集中删除因子级别,但它没有用。

有人有同样的问题吗?

我尝试了Remove unused factor levels from a ggplot bar plot建议的解决方案,但收到了错误

  

错误:mycode中的意外符号

有人可以提出建议吗?

另外,如果无法从ggplot代码中删除它们,如何从因子变量中删除NA?

3 个答案:

答案 0 :(得分:3)

假设您的数据位于名为dat

的数据框中

newdat <- dat[!is.na(dat$Factor), ]

不确定如何解决ggplot代码中的问题

答案 1 :(得分:2)

我以这种方式使用qplot代替ggplot

qplot(x=column, data=subset(dataframe,!is.na(column)))

我希望这会有所帮助。

答案 2 :(得分:1)

此相关主题的答案: NA's are being plotted in boxplot ggplot2

简而言之,而不是通常的:

ggplot(data=data)

使用

ggplot(data=na.omit(data[,c("var1","var2",...)])) 

其中var1,var2等是您正在绘制的变量。