使用日志时的线性模型“lm”函数错误

时间:2015-08-17 21:55:31

标签: r plot ggplot2 lm oxyplot

我在尝试绘制lmline时收到以下错误。出现同样的错误天气情节是基础图,格子或ggplot。在列中没有NA或NAN - 它被清除了。但是,排放日志可能会导致某些数据“inf”。我怀疑问题与lm函数有“inf”问题有明显的原因。有办法解决这个问题吗?

  

model< - lm(log(Emissions)〜year,outpoint)   lm.fit中的 错误(x,y,偏移=偏移,singular.ok = singular.ok,...):     'y'中的NA / NaN / Inf

注意:如果未使用日志 - 则lmline绘制。我这样做是因为数据是合理的,可以用日志更好地呈现。

xyplot(log(y) ~ x | f, type = c("p","r"), panel = function(x, y,...) {
        panel.xyplot(x, y, ...)  
        panel.lmline(x, y, ...)
}, xlab = "x label", ylab = "y label")

在图中获得以下错误。

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
  NA/NaN/Inf in 'y'

1 个答案:

答案 0 :(得分:1)

是的,您的y变量可能为零,或者为负数。如果它只是零,则可以为每个y添加少量,例如最小非零数的一半。如果它是负值,则日志转换可能不合适,但如果你真的必须,你可以为每个y添加一个足够大的数字,但没有一个是负数。