下面是我的問題的簡化版本,比我的原始版本更容易解釋。假設我定義爲用戶自定義函數的用法
total
[[1]]
[1] 0.2 0.6 0.8 0.3 0.9
[[2]]
[1] 0.2 0.6 0.8 0.3 0.9 0.2 0.8 0.3 0.9 0.2 0.6 0.3 0.9
[[3]]
[1] 0.2 0.6 0.8 0.3 0.9 0.2 0.8 0.3 0.9 0.2 0.6 0.3 0.9
現在的參數
par<-c(0.2,0.5,0.7,0.3,0.9,1,1.2,1.8,1.5)
一個載體,一個叫total
列表,可以說,我想給函數mean
適用於3個元素中的每一個並且每次將結果乘以從par
中選擇的兩個參數的函數。但是,要選擇的參數隨着每次迭代sapply
而改變。例如,當我計算列表第一個元素的平均值時,我想將結果乘以sqrt(par[2]*par[3])
,而在計算list
中第二個元素的平均值時,我想將結果乘以sqrt(par[5]*par[6])
等等。
我知道我可以做
sapply(total, mean)
使用sapply
獲得每個元素的平均中total
但我怎麼告訴sapply
做rolling
乘法結果?我應該使用rapply
嗎?
您不需要那個笨手笨腳的/無名的電話。只是'sapply(總的,卑鄙的)'。這不是真正的「滾動」應用程序。你可能應該將'par'對象改成列表並使用'mapply'。 – 2014-10-06 18:47:48
好點,讓我改正! – 2014-10-06 18:48:54
遍歷你的par向量的規則是什麼? – agstudy 2014-10-06 19:05:55