2012-08-01 23 views
3

所以我試圖將一個指數平滑模型應用到名爲「城市」的數據框中的每一列。我已經使用apply來識別數據框架,按列排序,並且我想運行該模型。但是,當我嘗試這樣做時,它告訴我需要爲指數平滑模型指定數據......我認爲我已經通過將它放入應用循環中。試圖將公式應用於R中的每一列,如何將數據提供給公式?

apply(x=cities,2,FUN=HoltWinters(x=x,gamma=FALSE)) 

而且,最終我想預測使用HW模型在接下來的4段使用forecast.predict開發。我需要使用不同的循環還是可以將它們結合在一起?

+1

嘗試'申請(X =城市,2,FUN =函數(X){HoltWinters(X = X,γ= FALSE))})' – Andrie 2012-08-01 20:44:08

回答

4

FUN需要一個function,但您試圖給它一個函數的輸出。 試試這個:

apply(cities, 2, FUN=function(x) HoltWinters(x=x,gamma=FALSE)) 
+4

或者,更簡潔:'申請(城市,2,HoltWinters,gamma = FALSE)'。 – 2012-08-01 20:47:28

+0

都完美無缺!有沒有辦法在apply中添加forecast.HoltWinters? – 2012-08-01 21:38:09

+0

'FUN'可以是任何你想要的自定義功能 – GSee 2012-08-01 21:51:45

相關問題