如何在R中重写这个右偏的Matlab最大似然函数?

如何在R中重写这个右偏的Matlab最大似然函数?,r,matlab,curve-fitting,log-likelihood,R,Matlab,Curve Fitting,Log Likelihood,我对极大似然法和在R中编写循环函数都是新手。我正在Matlab中玩这个函数,我想知道如何将它转录到R中?代码使用方程式(1)和(3) #Matlab代码。matlab代码施加了两个条件,其中lnpq根据q取不同的值。 p=N/K; 如果q==0 lnqp=对数(p); 其他的 lnqp=((p^q)-1)/q; 结束 Y=((aa*((p*K/Ka)-1))-1)*lnqp; #R代码。在R代码函数中,我试图在lnpq上施加类似的条件,但就像在lnpq上的MATLAB代码一样,但我不知道如何继续

我对极大似然法和在R中编写循环函数都是新手。我正在Matlab中玩这个函数,我想知道如何将它转录到R中?代码使用方程式(1)和(3)

#Matlab代码。matlab代码施加了两个条件,其中lnpq根据q取不同的值。
p=N/K;
如果q==0
lnqp=对数(p);
其他的
lnqp=((p^q)-1)/q;
结束
Y=((aa*((p*K/Ka)-1))-1)*lnqp;
#R代码。在R代码函数中,我试图在lnpq上施加类似的条件,但就像在lnpq上的MATLAB代码一样,但我不知道如何继续

你能详细说明一下你到底有什么问题吗?看起来matlab代码比R代码要短得多。此外,该文件的链接也不包括在内。谢谢你能详细说明一下你到底有什么问题吗?看起来matlab代码比R代码要短得多。此外,该文件的链接也不包括在内。谢谢
#Matlab Code. The matlab code imposes two conditions under which lnpq takes  different values depending on q.
p=N/K;
if q == 0
    lnqp = log(p);
else
    lnqp =((p^q)-1)/q;
end
 
Y = ((aa *((p*K/Ka)-1))-1)*lnqp;


#R code. In the R code function, I'm trying to impose similar conditions  on lnpq, but as in the MATLAB code on lnpq but I don't know how to proceed
   
    skewfun <- function(aa, K, Ka, q, sigma){
    Y <- ((aa *((p*K/Ka)-1))-1)*lnqp
    }