2017-07-17 57 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