この for ループを R に変換する必要があります
for ii = 100:(size(start,1)-N)
if start(ii) == 1 && mean(start(ii-11:ii-1)) == 0
count = count + 1;
sif(count,:) = s(ii:ii+N-1);
time(count) = ii*1/FS;
end
end
開始ベクトルは、合計で約 300 万要素の true 値と false 値の 1 次元ベクトルです。
R のループは時間がかかるため、コードの実行に約 3 時間かかるため、ベクトル化する必要があります。
誰かが助けてくれたら、本当に感謝しています。
編集
これは、単純なカウントだけを含む私の R コードです (実行には数時間かかります)。
for(ii in 100:sp)
{
if(start(ii) == 1 && mean(start(ii-11:ii-1)) == 0)
{
count = count + 1
}
}
編集-2
ダミー値は次のとおりです。
start
:
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
N
:
[1] 882
FS
:
[1] 44100
s
:
[1] 1.762390e-01 1.797791e-01 1.826172e-01 1.795044e-01 1.724243e-01
[6] 1.665039e-01 1.640625e-01 1.634827e-01 1.628723e-01 1.606750e-01