從Excel中讀取特定數據<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我對 JMP 腳本編寫有點陌生。 因此,如果有人能幫助我完成這個基本的腳本步驟,我將非常感激。
我想讀取上述數據如下:
讀取實驗室 A(或實驗室 B)的測試 1(或測試 2)數據,並將其採用以下格式作為示例:
實驗室 A 測試 1 的數據 = [2, 3, 4, 2, 1]
實驗室 A 測試 2 的數據 = [1, 3, 2, 4, 6]
等等。
是否可以在腳本窗口本身中顯示上述數據,以便我可以編寫更多腳本來分析數據(如平均值、標準差等)?
預先非常感謝您。
回复:從Excel中讀取特定數據因此,需要明確的是,從 Excel 獲取數據沒有問題。 也就是說,它已經在 JMP 數據表中,對嗎? 如果沒有,請考慮像訪問數據庫一樣訪問工作簿,並使用 SQL 查詢來隔離所需的數據組。
如果數據已經在 JMP 中並按頂部所示排列,那麼為什麼可以使用製表來獲得每組所需的結果?
回复:從Excel中讀取特定數據到目前為止,這還不是最佳實踐。 通常將其與更多文件一起使用可能會質疑穩健性。
如果您需要多次重複此操作,請幫自己一個忙,獲取一本書的副本:“Jump into jmp scripting”。 大多數學術圖書館都有它。
否則試試這個。
名稱默認為此處( 1 ) ;
// 定義數據源
dt =當前數據表() ;
//堆疊數據,以便所有測試都在一列中
數據棧= dt <<堆(
列( :測試1 , :測試2 ) , // 添加所有測試列
源標籤列( “標籤” ) ,
堆疊數據列( “數據” )
) ;
// 獲取 Lab 的唯一值
實驗室=關聯數組(數據棧:實驗室) <<獲取鑰匙;
// 獲取測試的唯一值
測試=關聯數組(數據棧:標籤) <<獲取鑰匙;
// 定義結果表
dt1 =新表( “結果” ,
新專欄( “實驗室” ,特點,名義上的) ,
新專欄( “測試” ,特點,名義上的) ,
新專欄( “意思是” ) ,
新專欄( “標清” ) ,
) ;
// 循環遍歷堆棧數據表中的實驗和測試以提取結果。
為了(我= 1 ,我<= N 項(實驗室) ,我++,
為了(它= 1 ,它<= N 項(測試) ,它++,
實驗室測試行=數據棧<<獲取行,其中(和(數據棧:實驗室==實驗室[我] ,數據棧:標籤==測試[它] ) ) ;
dt1 <<添加行( 1 ) ;
dt1 :實驗室[ N 行( dt1 )] =實驗室[我] ;
dt1 :測試[ N 行( dt1 )] =測試[它] ;
dt1 :意思是[ N 行( dt1 )] =平均實驗室測試1 =意思是(數據棧:數據[實驗室測試行] ) ;
dt1 :標清[ N 行( dt1 )] = SD實驗室測試1 =標準差(數據棧:數據[實驗室測試行] ) ;
)
) ;
// 關閉結果表並另存為excel
關閉( dt1 ,節省( “D:\我的文檔\結果.xlsx” ) ) ;
回复:從Excel中讀取特定數據嗨羅恩,
太感謝了。 這正是我一直在尋找的。
還有一個問題,我可以創建一個循環來計算實驗室 A/實驗室 B 以及測試 1/測試 2 的結果嗎? 在 Matlab 中很容易做到這一點,但正如我所說,我仍在學習在 JMP 中編寫腳本。 另外,如果可能的話,將最終結果保存或導出到 Excel 中會很好。
再次感謝您的幫助。
回复:從Excel中讀取特定數據你好拉詹比斯塔1 ,
Jim 是對的,使用 jmp 中的內置平台來生成結果要好得多。
否則,這是另一種選擇。
名稱默認為此處( 1 ) ;
dt =當前數據表() ;
// 比選擇更穩健
實驗室箭= dt <<獲取行,其中( dt :實驗室== “A” ) ;
實驗室眉毛= dt <<獲取行,其中( dt :實驗室== “B” ) ;
展示(實驗室箭,實驗室眉毛) ;
// 獲取每個測試的實驗室 A 的值
實驗室 A 測試 1 的數據= :測試1 [實驗室箭] ;
實驗室 A 測試 2 的數據= :測試2 [實驗室箭] ;
展示(實驗室 A 測試 2 的數據,實驗室 A 測試 1 的數據) ;
// 提取所需的值並給出稍後使用的名稱
MeanlabAtest1 =意思是(實驗室 A 測試 1 的數據) ;
SDlabAtest1 =標準差(實驗室 A 測試 1 的數據) ;
MeanlabAtest2 =意思是(實驗室 A 測試 2 的數據) ;
SDlabAtest2 =標準差(實驗室 A 測試 2 的數據) ;
// 只是為了顯示日誌中的數字。
展示( MeanlabAtest1 , SDlabAtest1 , MeanlabAtest2 , SDlabAtest2 ) ;
回复:從Excel中讀取特定數據這是一個腳本,它獲取您的數據表,並生成您在問題中指定的 2 個變量。
名稱默認為此處( 1 ) ;
dt =當前數據表() ;
dt <<選擇地點( :實驗室== “A” ) ;
實驗室 A 測試 1 的數據= :測試 1[dt <<獲取選定的行] ;
實驗室 A 測試 2 的數據= :測試 2[dt <<獲取選定的行] ;
展示(實驗室 A 測試 1 的數據,實驗室 A 測試 2 的數據) ;
我很好奇的是你關於將上述數據放入腳本窗口的問題。我不確定你要去哪裡?雖然您當然可以在 JMP 中編寫腳本,就像在 R 或 Python 中必須做的那樣,但在 JMP 中進行大多數分析要簡單得多,只需使用交互式項目。您提到您想將數據放入腳本中,以便可以分析數據,例如平均值、標準偏差等。使用製表或分佈平台獲取此類結果,您只需指定要分析的列似乎就是您想要的確實應該做。

