將用戶定義的函數存儲在for循環中時,存在將用戶定義的函數存儲在R列表中的問題。將用戶定義在for循環中的列表中
我必須根據一些參數定義一些特定於細分的函數,所以我創建函數並將它們放在循環中使用for-loop循環的列表中。問題是我在結果列表中的所有地方都有相同的功能。
的代碼看起來是這樣的:
n <- 100
segmenty <- 1:n
segment_functions <- list()
for (i in segmenty){
segment_functions[[i]] <- function(){return(i)}
}
當我運行的代碼是什麼我得到的是所有索引相同的功能(在循環最後創建):
## for all k
segment_functions[[k]]()
[1] 100
沒有當我手動將這些功能放在列表上時出現問題
segment_functions[[1]] <- function(){return(1)}
segment_functions[[2]] <- function(){return(2)}
segment_functions[[3]] <- function(){return(3)}
工作得很好。
我很榮幸不知道有什麼問題。你能幫忙嗎?
您幾乎完全重新創建了'force'幫助頁面底部的示例,該示例顯示瞭如何使其按預期工作 – Miff