2 つの列 (Time 、VA) を含むファイルがあります。ファイルは大きく、Rで読み取ることができました(読み取りとサブセットを使用-大きなファイルには実用的ではありません)。ここで、各サンプルにサンプル サイズとサンプル シフトがある時間に基づいてサンプリングを行いたいと考えています。サンプル サイズは、サンプリングのプロセス全体で固定値です。たとえば、sampleSize=10 秒です。サンプル シフトは、各新しいサンプルの開始点です (最初のサンプルの後)。たとえば、 sampleShift =4 秒で sampleSize が 10 秒の場合、2 番目のサンプルは 5 秒から開始し、サンプルのサンプル サイズ = 10 秒として 10 秒を追加することを意味します。サンプルごとに、-VA-値を関数に渡して計算します。
Sampling <- function(values){
# Perform the sampling
lastRowNumber<- #specify the last row manually
sampleSize<-10
lastValueInFile<-lastRowNumber-sampleSize
for (i in 1: (lastValueInFile ) ){
EndOfShift<-9+i
sample<-c(1:sampleSize)
h<-1
for(j in i:EndOfShift){
sample[h] <- values[j,1]
h<-h+1
}
print(sample)
#Perform the Calculation on the extracted sample
#--Samp_Calculation<-SomFunctionDoCalculation(sample)
}
}
私の試行の問題は次のとおりです。1)読み取ったファイルごとに手動で lastRow 番号を指定する必要があります。2)時間値ではなく行数に基づいてサンプリングを行おうとしていました。また、シフトはサンプルごとに 1 ずつでした。
ファイルのサンプル:
Time VA
0.00000 1.000
0.12026 2.000
0.13026 2.000
0.14026 2.000
0.14371 3.000
0.14538 4.000
..........
..........
15.51805 79.002
15.51971 79.015
15.52138 79.028
15.52304 79.040
15.52470 79.053
.............
より専門的な方法について何か提案はありますか?