我試圖確定如何在功能boot()
R中傳遞額外的參數,該參數statistic
,使用...
。在讀取?boot
時,它表示 「」第一個參數將始終是原始數據,第二個參數將是一個指數,頻率或權重矢量,用於定義引導程序示例....任何其他參數都可以傳遞給statistic
通過...
說法但我不知道這將如何實際看在實踐中如何通過......傳遞附加參數統計參數啓動()
下面是一些示例代碼 - 。statFun
是一個函數,它接受一些數據,並返回平均值。如果額外參數通過...
命令傳遞,它圍繞這些額外參數集中數據,然後retu RNS平均:
statFun <- function(funData, indices, ...)
{
# Check to see if extra parameters
extraPar <- list(...)
if(extraPar[[1]])
{
result <- mean(funData[indices] - extraPar[[2]])
}else
{
result <- mean(funData[indices])
}
# Return the value
return(result)
}
# Testing statFun
testData <- 1:20 ; testIndices <- length(testData)
statFun(testData, testIndices, FALSE) # Returns 10.5
statFun(testData, testIndices, TRUE, mean(testData)) # Returns 0
現在,如果我嘗試內boot
應用此功能,我碰到的問題:
boot(testData, statFun, R = 100)
這給了我Error in extraPar[[1]] : subscript out of bounds
。如果我嘗試將FALSE
傳入statFun
,但仍然會得到相同的錯誤。我可以理解我的範圍是不正確的,但我該如何克服這一點?我讀過this和this後,以瞭解如何使用...
好一點,但我似乎失去了一些東西昭然若揭......
這是我第一次SO職位,所以請讓我知道,如果我的問題沒有按不遵循指導原則。謝謝你的幫助。
我得到的結果20和9.5(我期望)。 –
我認爲這個幫助意味着你可以通過'...'傳遞多個參數,但要真正做到這一點,並傳遞給開機,你應該命名它們:所以使用'statFun < - function(funData,indices ,center = FALSE,val = NULL){',並相應地更改其餘的函數。然後你用'boot(testData,statFun,center = TRUE,val = mean(testData),R = 100)調用引導'' – user20650
實際上'''argumnet的幫助說*「其他**命名參數* *(對於每次被調用時統計信息不變的*)(「我的重點」) – user20650