2017-07-17 121 views
0

我想拟合/绘制指数函数,但它不起作用。对于指数函数在r中不起作用,但pol是

before_database.frame<- read.table("APD_data.txt", 
            header = TRUE, 
            sep = "", 
            dec="." 
           ) 

Single_APD.frame<- before_database.frame[before_database.frame$Serial_number==912009913, ] 

# fit<- lm(Voltage ~ poly(Amplification,2), data=Single_APD.frame) 
fit<- lm(Voltage ~ exp(Amplification), data=Single_APD.frame) 

我收到:

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

但 “〜聚(扩增,2)” 的作品。哪里不对?我已经在查找错误,但解决方案对我无效。 谢谢!

Data

+1

你能展示范围输出(Single_APD.frame $ Amplification)'? – CPak

+1

'exp'很容易炸掉 – platypus

+0

@ChiPak当然,它是“[1] 1.00252 1903.74000” – Ben

回答

1

这个答案是基于与您lm(Voltage ~ exp(Amplification), data=Single_APD.frame)都拿到OP @Ben

错误评论:

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

建议,你的价值观的至少一个是NA/NaN/Inf。范围你的价值观

What is output of range(Single_APD.frame$Amplification)? 
@ChiPak Sure, it's" [1] 1.00252 1903.74000 

----- -----聚

~ poly(Amplification, 2)没有给你一个错误,但poly不会做你,你所期望的。

See https://stackoverflow.com/questions/19484053/what-does-the-r‌​-function-poly-reall‌​y-do. 

你可能正在寻找

val <- 1:5 
2^val 

这就解释了为什么poly作品。

----- -----错误

再回到你的错误:

exp(1903.74000) 

Inf,这说明你的错误

-1

你的数据集可能包含NULL值NA,基于这个原因,这些值的功能exp,无法计算。 您的数据集包含NA值,或者不是?

+0

请参阅原始帖子的意见 – CPak

+0

不,它不。我在这个问题中包含了数据。 – Ben