忽略ggplot中的缺失/ NA值

时间:2017-12-21 22:49:53

标签: r ggplot2

我正在尝试用一些计算来构造一个ggplot但是很多行都有NA值(实际上比这更复杂,它们没有在R中注册为NA值,它们实际上是标记为na的字符值(不被识别为导入期间R值的NA值))

我正在尝试执行followig ggplot,它是随时间变化的基本增长公式t:(t - t-1) / t如何省略NA或字符值。 na.omit似乎不起作用。

ggplot(x, aes(x = ((EBITDA.EUR.Last.avail..yr - EBITDA.EUR.Year...1) / EBITDA.EUR.Year...1)),
              y = ((Fixed.assets.EUR.Last.avail..yr - Fixed.assets.EUR.Year...1) / Fixed.assets.EUR.Year...1)),
              color = "red")) + 
      geom_point()

2 个答案:

答案 0 :(得分:2)

考虑在ggplot调用之前进行计算。在这种情况下,您可以将计算保存为新的data.frame(例如,将其称为x)并在通过x [x =='n.a',]分配NA后应用函数new_x =!is.na(x) < -NA。在ggplot调用中使用new_x。如果问题确实是na值,这应该可以解决问题。

答案 1 :(得分:1)

根据我的经验,ggplot2包会忽略NA值。如果您的数据包含NA作为字符,您可以在创建绘图之前尝试这样的事情:

x[x == "n.a."] <- NA

考虑到x是您的data.frame或vector,这应该将您的所有字符“NA”转换为ggplot()函数将省略的可靠NA值。