2013-08-29 53 views
1

我有一個實驗的數據來自59到60赫茲之間的採樣響應。在整個運行18分鐘的實驗中,沒有辦法預測採樣率的下降。SPSS:重新編碼時間使採樣率明確

每個採樣響應都從1到N(對於總行數)進行編號,顯示存儲在變量「幀」中的相對時間推移。我還有一個unix時間標記絕對時間存儲在'unixtime'中。但unixtime報告的整數不是以小數爲單位的整數&。例如:

  • 1376925380可能重複59次;
  • 1376925381可能會在數據文件中重複60次。

我想創建跟蹤每個連續幀(或採樣響應)從1到60或者從1到59的新變量,視情況可以是,在SPSS每個給定unixtime郵票。請參閱下面的重新排列。任何幫助W /適當的SPSS語法表示讚賞!

unixtime newframe 
1376925380 1 
1376925380 2 
1376925380 3 
1376925380 4 
1376925380 5 
1376925380 6 
.... 
1376925380 58 
1376925380 59 
1376925381 1 
1376925381 2 
1376925381 3 
1376925381 4 
....  .... 
1376925381 60 
1376925382 1 
1376925382 2 
.... 
+0

因此,您現在有unixtime標記變量,並且您想要newframe變量? –

+0

是的,我想新的變量。任何幫助表示讚賞! – user2727373

回答

0

如果我理解正確的話,你可以使用LAG的時間標記之間找出你的櫃檯。下面的例子。

*fake data. 
set seed 10. 
input program. 
loop #i = 1 to 100. 
    loop #j = 1 to TRUNC(RV.UNIFORM(59,61)). 
    compute unixtime = 1376925379 + #i. 
    end case. 
    end loop. 
end loop. 
end file. 
end input program. 

*Using lag to calculate newframe variable. 
DO IF ($casenum = 1) OR (unixtime <> lag(unixtime)). 
    compute newframe = 1. 
ELSE. 
    compute newframe = lag(newframe) + 1. 
END IF. 
exe. 

在,Using sequential case processing for data management in SPSS使用滯後見相關討論。

+0

它工作!!!!!!!!!!!!鏈接也非常有用!謝謝!!!!!!!!! – user2727373