したがって、私の質問は、前回の質問の後の展開に続きます。スパイクトレインのラスタープロットとしてスパイク時間を取得しようとしています。発火率を 100 に設定し、20 回の試行でスパイク トレインを取得しました。そのコードは次のとおりです。
fr = 100
dt = 1/1000 #dt in milisecond
duration = 2 #no of duration in s
nBins = 2000 #SpikeTrain
nTrials = 20 #NumberOfSimulations
MyPoissonSpikeTrain = function(p, fr= 100) {
p = runif(nBins)
q = ifelse(p < fr*dt, 1, 0)
return(q)
}
set.seed(1)
SpikeMat <- t(replicate(nTrials, MyPoissonSpikeTrain()))
plot(x=-1,y=-1, xlab="time (s)", ylab="Trial",
main="Spike trains",
ylim=c(0.5, nTrials+1), xlim=c(0, duration))
for (i in 1: nTrials)
{
clip(x1 = 0, x2= duration, y1= (i-0.2), y2= (i+0.4))
abline(h=i, lwd= 1/4)
abline(v= dt*which( SpikeMat[i,]== 1))
}
これがすべて完了した後の次のタスクは、Inter-Spike 間隔のベクトルを取得し、それらのヒストグラムを取得することでした。ISI の分布は指数分布に従うため、同じデータで ISI の指数分布をプロットすると、ヒストグラムの高さによって作成される曲線と一致します。したがって、スパイク間のタイミングを最初に取得するために、次を使用しました。
spike_times <- c(dt*which( SpikeMat[i, ]==1))
次に、スパイク間の間隔とそのヒストグラムのベクトルを取得するために、次のコマンド ラインを使用しました。
ISI <- diff(spike_times)
hist(ISI, density= 10, col= 'blue', xlab='ISI(ms)', ylab='number of occurences')
そして、それは私にこのプロットを与えました:
今、私が欲しいのは、スパイク間の間隔の指数分布の性質を正当化するヒストグラム内の指数分布をプロットすることです。使用するパラメーターと使用するレートについて混乱しています。誰かが Interspike インターバル プロットで作業したことがある場合は、助けてください。また、データが不完全なようで申し訳ありませんが、何か不足している場合はお知らせください。