將數據集與不相同的時間戳相關聯我是JMP的新手。我確定我的問題很常見,但我不知道尋找幫助的正確條款。
我進行了一項實驗,其中手動收集數據隨機時間點。
為了更好地說明我的數據類型,我在下面做了一個示例表。假設我看到結果2存在問題,所以我想看看結果2和結果1之間以及結果2和結果3之間是否存在相關性。
這些數字是完全彌補的,但是你會發現,一般來說,數據不是在同一時間點收集的(但有時它們是)。數據集的大小不同。
| 時間 | 結果1 | 結果2 | 結果3 |
01:00 | 2000 | | |
| 02:00 | 5200 | | |
| 03:14 | 5000 | | |
| 04:00 | 5100 | | |
05:23 | 5200 | | |
| 06:00 | 5300 | | |
| 07:52 | 5000 | | |
| 01:15 | | 12 | |
| 04:23 | | 16 | |
| 06:00 | | 22 | |
| 01:17 | | | 345 |
| 02:34 | | | 345 |
| 02:50 | | | 347 |
| 04:23 | | | 347 |
| 05:53 | | | 342 |
| 08:23 | | | 235 |
| | | | |
我已經能夠將時間轉換為日期時間,因為我的數據跨越了多天(示例表中未顯示)。我不知道最好的辦法。 如果我的數據集很小,我會嘗試將結果2和3與結果1的最近數據集匹配。比如說,匹配結果1的1:00和結果2的1:15以及結果3的1:17。
但我有很多數據(幾千個數據點左右)。我只需要全面了解相關的內容和不相關的內容。我不需要保持數據的原始格式,我不需要對小的差異進行調整(因此,1:1與1:15與1:17相關)。我只需要能夠循環通過許多不同的變量並確定...... 是有相關性,或者沒有相關性。
謝謝!
Re:將數據集與不相同的時間戳相關聯非常感謝!Re:將數據集與不相同的時間戳相關聯以下是解決您提出的問題的一種方法的簡單示例
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNamesList = dt << get column names( numeric, continuous );
dtSum = dt << Summary(
Mean( Eval( colNamesList ) ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
有關方法和函數的文檔可在“腳本指南”和“腳本索引”中找到
幫助==>圖書==>腳本指南
幫助==>腳本索引
Re:將數據集與不相同的時間戳相關聯那太棒了。這正是我所需要的。非常感謝。
我還有一個問題...... 對於腳本來創建摘要表,如果我只有幾列,我可以輸入列名(例如“結果2”)。如果我有100個具有各種名稱的列需要合併到數據表中,我該怎麼辦?
謝謝!Re:將數據集與不相同的時間戳相關聯要“匹配”數據,應該有一些匹配的上下文。根據您的描述,您似乎想要按最近的小時匹配。如果是這種情況,那麼你可以創建一個新列,我將其稱為Rounded Hour。
Round( :Time / (60 * 60), 0 ) * (60 * 60)
然後你可以使用表匯總來獲得結果,請求平均值,或者最小值或最大值,因為應該只有一個,
Data Table( "Example" ) << Summary(
Group( :Round Hour ),
Mean( :Result 1 ),
Mean( :Result 2 ),
Mean( :Result 3 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
)
但是,根據您的補充數據,這將是一個問題。對於結果3,你有一個2:34的讀數,它將會轉到3:00,而另一個讀數將在2:50轉到3:00。 這會發生什麼?你會如何解決這個問題?
如果它需要更多邏輯,例如,“如果2個結果在同一個小時,分配最接近那個小時,如果沒有分配到前一個小時,將另一個分配到前一個小時”和類似的規則,那麼腳本將需要。