2013-02-14 169 views
0
I have 2 vectors 
days = c(1, 2, 3, 4, 5, 6, 7) 
pct_used = c(22.3, 22.1, 22.1, 22.1, 55.660198413, 56.001746032, 55.988769841) 

fit <- lm(days ~ poly(pct_used,2,raw=TRUE)) 
prediction <- predict(fit, data.frame(pct_used=85)) 
days_remain <- (prediction - tail(days,1)) 

pct_used基本上是磁盤空間。因此,此代碼可預測磁盤空間何時達到85.
返回的預測值是325.我覺得很奇怪的東西。是否意味着它需要325天才能達到pct_used = 85?
我哪裏錯了?使用R的磁盤空間預測

+0

是。最後3行是R – 2013-02-14 22:22:58

+3

如果你試圖預測Y,那麼不要把Y的值粘在X應該在的地方。 – 2013-02-14 23:01:53

+0

您使用'poly()'做出了預測,然後在值的範圍之外進行了預測。你期望什麼? – 2013-02-15 01:53:58

回答

1

試試這個,看看發生了什麼:

plot(pct_used, days) 
lines(pct_used, predict(fit 

enter image description here

plot(pct_used, days, xlim=c(min(pct_used), 85) ,ylim= c(-50,350)) 
lines(seq(min(pct_used), 85, length=50), predict(fit, newdata=data.frame( 
             pct_used=seq(min(pct_used), 85, length=50)))) 

enter image description here

+0

感謝您的回覆..我已經在Ruby中使用Ruby代碼嵌入了代碼RinRuby gem ..在Ruby中不能繪製圖表,只是使用R ..進行計算。我想用R來提供一些值(pct_used)並預測pct_used何時會達到85。有任何想法嗎 ? – 2013-02-15 02:30:50

+0

我的想法是,你應該重新考慮你的策略,並且你應該解釋到底發生了什麼。 (粘貼在我正在看的圖形中。) – 2013-02-15 02:44:03

+0

對不起,我只是不能生成圖表..我試圖使用我們的代碼建議繪圖,但沒有出現..我的想法是拉動磁盤空間值(%像節點已達42%的磁盤消耗,下一個點45,下一個點55 ...等等,並找到點,當它將達到其磁盤消耗的85%)..非常感謝提供幫助 – 2013-02-15 02:57:12