我有一个包含两列(Time,VA)的文件。该文件很大,我设法在 R 中读取它(使用读取和子集 - 对于大文件不实用)。现在,我想根据时间进行采样,其中每个样本都有样本大小和样本偏移。样本大小是整个采样过程的固定值,例如 sampleSize=10 秒。样本移位是每个新样本的起点(在第一个样本之后)。例如,如果 sampleShift =4 sec 并且 sampleSize 是 10 sec ,这意味着第二个样本将从 5 sec 开始并添加 10 sec 作为样本 sample size=10 sec。对于每个样本,我想将 -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
.............
对更专业的方式有什么建议吗?