r-在给定一个潜在指标的情况下,我如何有条件地求和



我想要在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的新手,非常感谢您的帮助。

如果你的yz长度相等,那么你可以尝试下面的代码,我相信它在数学上等同于你的目标

sum(dpois(y,lambda0,log=TRUE)*(1-z)+dpois(y,lambda1,log=TRUE)*z)

相关内容

最新更新