-2
我有一些問題要正確返回R中函數中的變量。 在下面的示例中,我創建了一個「離開一出」交叉驗證函數。問題在於該函數似乎沒有以任何方式影響變量「mse」,它仍然保持最初設置的狀態。如何修改R中函數中的可變變量?
我試圖只從'for'行運行腳本,它運行良好,所有'mse'值都添加到變量中。
怎麼說,通過使用功能,我不能修改我的變量?它與本地/一般變量有關嗎?
謝謝。
我有一些問題要正確返回R中函數中的變量。 在下面的示例中,我創建了一個「離開一出」交叉驗證函數。問題在於該函數似乎沒有以任何方式影響變量「mse」,它仍然保持最初設置的狀態。如何修改R中函數中的可變變量?
我試圖只從'for'行運行腳本,它運行良好,所有'mse'值都添加到變量中。
怎麼說,通過使用功能,我不能修改我的變量?它與本地/一般變量有關嗎?
謝謝。
在R中,函數按值接收參數。這意味着函數不會從外部改變它們的參數。例如,下面的代碼
test <- function(x) {x=5}
a <- 10
test(a)
print(a)
打印:
[1] 10
要從函數返回的東西,用
return(something)
您必須分配即。 'mse < - loocv(l)' – akrun
我建議你參加'R'初學者課程。您需要將函數調用的結果分配給一個變量。 –
...但也許有點清晰,以返回函數中的mse – user20650