我正在尝试用一些计算来构造一个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()
答案 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值。