rm(list=ls())
y.signal=c(3,7,14,24,32,12)
y.noise=c(12,16,21,15,10,6)
NS=sum(y.signal)
NN=sum(y.noise)
parest.signal=y.signal/NS
parest.noise=y.noise/NN
#negative log likelihood for one stimulus
nll.mult.1=function(p,y)
-sum(y*log(p))
nll.general=nll.mult.1(parest.signal,y.signal)+
nll.mult.1(parest.noise,y.noise)
print(nll.general)
#negative log likelihood of free-variance signal detection
#for confidence interval paradigm
sd.prob.1=function(mean,sd,bounds)
{
cumulative=c(0,pnorm(bounds,mean,sd),1)
p.ij=diff(cumulative)
return(p.ij)
}
nll.sigdet=function(par,y)
par=c(5 , 1 ,-2,-1,0,1,2)
y=c(3,7,14,24,32,12, 12,16,21,15,10,6)
{
I=length(y)/2
d=par[1]
sigma=par[2]
bounds=par[3:length(par)]
p.noise=sd.prob.1(0,1,bounds)
p.signal=sd.prob.1(d,sigma,bounds)
nll.signal=nll.mult.1(p.signal,y[1:I])
nll.noise=nll.mult.1(p.noise,y[(I+1):(2*I)])
return(-nll.signal-nll.noise)
}
這是我打的語法,我一直不曉得為什麼他跑出"錯誤在par[1] : 'closure' 類型的物件無法具有子集合",我覺得我函數都有定義到了