2017-04-04 35 views
0

請問,任何人都可以幫助我解決這個R問題?我需要使用一個日誌操作符執行雙重求和,而我找不到這樣做的方法。該總和是概率分佈的對數似然表達的一部分。我知道這首先是一個簡單的問題,但我花時間沒有解決方案。提前致謝。雙重求和與登錄R

求和公式爲:

\sum_{i=2}^{k} \sum_{j=1}^{i-1} n_i log(a + bi+pj)

此,我想是R代碼裏面塊以準備數據總結()。

set.seed(123) 
y <- rpois(100, 5) 
a <- 5; b <- 1; p = 0.1 
# ni <- frequency of repetitions from 100 Poisson distributed numbers 
ni <- table(y);ni 
i <- 2:length(ni) 
j <- 1:(length(i)-1) 
#Sum <- sum(????) 
+0

's < - 0; (i + 2 * i + p * j)中的(i in 2:length(n1)){ { } }; s' –

+1

非常感謝你@MichalMajka。 – user2154480

回答

0
set.seed(123) 
y <- rpois(100, 5) 
a <- 5; b <- 1; p = 0.1 
n <- as.vector(table(y)) 


result_list <- sapply(2:length(ni), function(i) { 
    sapply(1:(i-1), function(j) { 
     n[i]*log(a + b*i+p*j) 
    }) 
}) 

result <- sum(unlist(result_list)) 

這個怎麼樣?

+0

非常感謝你@thc。 通過尋找你的解決方案,我發現我的循環代碼 *(for i(i in i))中有什麼問題(對於(j中的j)){paste(i,j,sep =「」)] < - ni [i] * log(a + b * i + p * j) } } * – user2154480