我剛剛開始學習R進行預測和分析,我決定嘗試爲我使用的預測模型創建一個完整的包(添加劑取貨)。我在一家酒店工作,我經常做的事情之一是預測我們的需求,所以這將使我的工作更快,更輕鬆!平均列反向,並將這些平均值的總和返回到R
我已經創建了幾個函數,它們會爲我提供我的皮卡號碼的數據框,現在我正在開發一個函數來平均用戶定義的新數據框中的列數。我已經添加了代碼來創建一些示例數據,以及我正在處理的代碼。
示例數據:
test = data.frame(replicate(10, sample(0:2, 32, rep = TRUE)))
破碎的代碼:
averagePickup = function(data, day, periods) {
# data will be your Pickup Data
# day is the day you're forecasting for (think row number)
# periods is the period or range of periods that you need to average (a column or range of columns).
pStart = ncol(data)
pEnd = ncol(data) - periods
row = (day-1)
new_frame = as.data.frame(matrix(nrow = 1, ncol = periods))
for(i in pStart:pEnd) {
new_frame[1,i] = mean(data[1:row , i])
}
return(sum(new_frame[1,1:i]))
}
這樣做的目的是從數據到用戶定義的時間段的最後一列向後迭代。例如,將「句點」設置爲1應僅返回最後一列的平均值的總和。將其設置爲2將生成最後一列和倒數第二列的平均值的總和。
然而,當我嘗試運行的這個測試我得到讀取
錯誤在一個錯誤[< -.data.frame
(
TMP`,1,I,值= 0.9) :新列 會在現有列後留下空洞
任何建議,你們可以借出將非常感激。另外,讓我知道,如果我絕對沒有意義,並對這個問題的論文表示歉意......請注意,由於輸入數據的格式化,它必須向後迭代。
請包括數據,以使這種可重複性 –
是啊......這可能會有所幫助......您可以使用此代碼來獲取與我正在使用的框架相似的框架。 test = data.frame(replicate(10,sample(0:2,32,rep = TRUE))) 適用於我的代碼,我想從X10列開始。讓我知道如果還有其他事情會讓這個更清楚! –
'日'是行號,'句號'是列號。基本上,每一行都是一週中的一天,每一列都是一個觀察期。如果將'day'設置爲11並將'periods'設置爲1,則該函數應該採用列1中前10個觀察值的平均值。在列上從左向右移動時,我可以實現此功能,但可以似乎並沒有讓它正常工作。 –