我有一個包含兩列(Time,VA)的文件。該文件很大,我設法讀取它在R(使用讀取和子集 - 不適用於大文件)。現在,我想根據時間進行抽樣,每個樣本都有一個樣本大小和樣本移位。樣本量是整個抽樣過程的固定值,例如, sampleSize = 10秒。樣本移位是每個新樣本的起點(在第一個樣本之後)。例如,如果sampleShift = 4秒並且sampleSize是10秒,則意味着第二個樣本將從5秒開始,並且隨着樣本樣本大小= 10秒增加10秒。對於每個樣本,我想將某個函數的值輸入到一些計算中。R中的採樣和計算
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數爲每個I讀取文件。 2)我試圖根據行數而不是時間值進行採樣。此外,每個樣本的移位都是一個。
文件樣本:
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
.............
爲更專業的方式什麼建議嗎?
是的,這幾乎是我在找的東西。但是,我不需要隨機抽樣,而是統一對所有時間內容進行抽樣。換句話說,我希望有更多的樣本,直到時間結束(沒有更多樣本)。樣品2和3 .....將由sampleShift進行調節。我試圖添加更多的答案,但是,我只能得到一個樣本。「開始時間<-0 爲(I在1:MAXTIME){ 開始時間< - minTime + STARTTIME 測試<-sampTime(值,sampTimeLen,開始時間) 貓( 」樣品「,I, 」\ n「 個) 打印(測試) 開始時間<-shiftSize }」 – SimpleNEasy 2013-02-22 02:00:43
@ Eng.Mohd:我已經編輯我在希望滿足您澄清的方式回答。 – Simon 2013-02-22 02:50:47
謝謝。完美。 – SimpleNEasy 2013-02-22 04:29:34