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

R 如何从因子变量(和ggplot图表)中删除NA?,r,ggplot2,missing-data,R,Ggplot2,Missing Data,我对因子变量中的NA有问题,因为ggplot将它们包含在绘图中,就好像它们是另一个类别/级别一样。我想删除丢失的数据。 很抱歉,目前我手头没有代码,我试图从我在data()中找到的数据集中删除因子级别,但没有成功 有人有同样的问题吗 我尝试了这里建议的解决方案,但出现了一个错误 错误:mycode中出现意外符号 有人能提出一些建议吗 此外,如果无法从ggplot代码中删除它们,如何从因子变量中删除NA?假设您的数据位于名为dat newdat我会用qplot而不是ggplot这样: qplot(

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

有人有同样的问题吗

我尝试了这里建议的解决方案,但出现了一个错误

错误:mycode中出现意外符号

有人能提出一些建议吗


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

假设您的数据位于名为
dat


newdat我会用
qplot
而不是
ggplot
这样:

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

我希望这能有所帮助。

回答以下相关问题:

简言之,与通常的情况不同:

ggplot(data=data)
使用


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

谢谢@Frank,它确实有效,一个问题:它是否在数据集中删除该因子变量中带有NA的情况?命令是说每次
is.NA(dat$factor)
is
TRUE
@baptiste我更改了代码以反映您的评论。我不知道它是这样工作的。谢谢你的评论。@Frank,很抱歉我没有完全理解,每次
is.na(dat$Factor)
is
TRUE
,它都会删除整行,你的意思是我需要调用这个iside ggplot函数或任何其他函数?你可以这样做,也可以创建一个新对象(例如
newdat
)以包含原始数据的子集。然后,在ggplot函数中使用新对象。
ggplot(data=na.omit(data[,c("var1","var2",...)]))