我想要在R:中计算以下总和
$sum^K_{k=1} [(1-z_i) * log[y_i|lambda_0] + z_i * log[y_i|lambda_1]]$, where [y_i|lambda_{1/2}] follows a Poisson(lambda_{1/2}) distribution.
潜在指示符变量z_i等于0或1,其在向量z中提供。
我目前在我的R脚本中有以下代码:
sum(dpois(y,lambda0,log=TRUE)[z==0]+dpois(y,lambda1,log=TRUE)[z==1])
我收到以下错误,
longer object length is not a multiple of shorter object length
在这种情况下,我不认为这真的是我的问题。我只是不知道如何求和。我是R的新手,非常感谢您的帮助。
如果你的y
和z
长度相等,那么你可以尝试下面的代码,我相信它在数学上等同于你的目标
sum(dpois(y,lambda0,log=TRUE)*(1-z)+dpois(y,lambda1,log=TRUE)*z)