FUNC <- function(i){
var <- i
dist <- sapply(1:(i-1),function(x){list[[x]]*co[var,x]})
mean <- sapply(1:(i-1),FUN2)
block <- t(co[i,i]*list[[i]])+rowSums(mean)
new_list[[i]] <- t(block)
}
當我指定i = 4或i = 10並在函數定義中逐行運行代碼時,它完全工作並且分配new_list[[i]]
的值爲t(block)
。 然而,當我做函數按指定的i行逐行運行,但不起作用函數調用
FUNC(4) or FUNC(10)
它返回的錯誤信息
Error in dist[[x]] : subscript out of bounds
沒有人有任何想法,爲什麼它不會有一個函數調用工作? 謝謝!
有幾個對象是未定義的,這將會幫助你很困難。你在這裏使用的編程風格很奇怪。你能用一些樣本數據更新你的問題,並解釋你想用英語完成什麼?我猜想有一種更有效的方式來完成你在這裏做的事情。 FWIW,我在列表[[x]]中得到一個錯誤:嘗試以'FUNC(4)'運行你的代碼時,'builtin'類型的對象不是子集'錯誤。 – Chase
此外,我們不知道'co'是什麼,'FUN2'是什麼,以及'new_list'的定義位置和方式...... –
另外[函數調用中的賦值是臨時的](http:// cran .r-project.org/doc/manuals/R-intro.html#作業中的作業) – Gregor