您好,我需要獲取所有列的平均值,並按列標題對其進行排序。數據附加在從excel導入的jmp文件中!謝謝!
我正在使用和收到的excel表有六個選項卡,我想將所有數據匯總到一個日誌中,以便我可以發送它或進行更多分析。謝謝!
@ tylerram123 ,
你能幫我理解你對這本期刊的需求嗎?試試這個例子。我測試了它,這將工作。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
MyJrn = dt << journal;
我還是不能在日記中輸出。我現在正在嘗試這個,但沒有運氣。
JRN = 新窗戶 ( “報告” , << 日誌 ) ;
JRN << 附加 ( H列錶框 ( ( dtFinal << 報告 ) ) ) ;
JRN << 保存期刊 (( “C:\目標\ Output.jrn!” ) ) ;
下面是一個腳本,用於創建您所說的所需的摘要輸出表。 該腳本從您提供的JMP數據表開始,直至完成。 大約80%的腳本實際上是通過在JMP中以交互方式運行步驟創建的,然後讓JMP將用於交互式處理的腳本保存到腳本窗口。 腳本中使用的所有步驟和函數都記錄在“腳本指南”和“腳本編制索引”中
幫助==>圖書==>腳本指南
幫助==>腳本指南
Names Default To Here( 1 );
dt = Current Data Table();
// Correct the data table using the JMP table imported from the Excel file
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << set name(
Word( 1, Column( dt, i ) << get name, " " ) || " " || Column( dt, i )[1]
)
);
dt << delete rows( 1 );
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << data type( numeric ) << modeling type( continuous )
);
// Change the name of the first column to H(Oe)
Column( dt, 1 ) << set name( "H(Oe)" );
// Create a list of all numeric column names
colNamesList = dt << get column names( numeric );
// Summarize the data
dtSum = dt << Summary(
Mean( Eval( colNamesList ) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);
// Create final table and sort it in alphabetical order
// First delete the unneeded column N Rows
dtSum << delete columns( "N Rows" );
dtFinal = dtSum << Transpose(
columns( Eval( colNamesList ) ),
Label column name( "Column" ),
Output Table( "Summary " )
);
// Change the name of the "Row 1" column to "Mean"
dtFinal:Row 1 << set name( "Mean" );
// Sort the data table
dtFinal = dtFinal << sort( by( Column ), order( Ascending ), Replace Table( 1 ) );
您可以通過執行以下操作輕鬆完成此操作:
dt << Journal();
// in your case dt_Method1
但是,我建議您立即提出所有要求或作為單獨的問題
@ tylerram123 ,
像這樣的東西
Clear Log() ; Clear Globals();
// Script to Open File
FilePath = "C:\RC23.xlsx"; // Edit to have your custom File Path
dt_Input = Open(
FilePath,
Worksheets( "RC23" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Method 1
dt_Method1 = dt_Input << Summary(
Mean( :Column 1 ),
Mean( :Ic 2 ),
Mean( :RnN 2 ),
Mean( :RnP 2 ),
Mean( :Rn 2 ),
Mean( :IcN 3 ),
Mean( :IcP 3 ),
Mean( :Ic 3 ),
Mean( :RnN 3 ),
Mean( :RnP 3 ),
Mean( :Rn 3 ),
Mean( :IcN 4 ),
Mean( :IcP 4 ),
Mean( :Ic 4 ),
Mean( :RnN 4 ),
Mean( :RnP 4 ),
Mean( :Rn 4 ),
Mean( :IcN 5 ),
Mean( :IcP 5 ),
Mean( :Ic 5 ),
Mean( :RnN 5 ),
Mean( :RnP 5 ),
Mean( :Rn 5 ),
Mean( :IcN 6 ),
Mean( :IcP 6 ),
Mean( :Ic 6 ),
Mean( :RnN 6 ),
Mean( :RnP 6 ),
Mean( :Rn 6 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "stat of column" )
);
// Method 2
dt_Method2 = (dt_Input << Tabulate(
Add Table(
Row Table(
Analysis Columns(
:Ic 2,
:RnN 2,
:RnP 2,
:Rn 2,
:IcN 3,
:IcP 3,
:Ic 3,
:RnN 3,
:RnP 3,
:Rn 3,
:IcN 4,
:IcP 4,
:Ic 4,
:RnN 4,
:RnP 4,
:Rn 4,
:IcN 5,
:IcP 5,
:Ic 5,
:RnN 5,
:RnP 5,
:Rn 5,
:IcN 6,
:IcP 6,
:Ic 6,
:RnN 6,
:RnP 6,
:Rn 6
),
Statistics( Mean )
)
)
)) << Make Into Data Table;第一張照片是我要找的。你是對的,由於某種原因,它沒有放入第1列的列標題,它應該是H(Oe)。您是否知道如何使用SAS腳本執行您為第一張圖片所做的操作?再次感謝您的幫助!
這是你想要的結果嗎?

我說不出來。 如果上述結果是您想要的,則Excel文件輸入不正確。 Excel導入嚮導或JMP Addin for Excel將允許您指示列標題所在的行以及數據從哪個行開始。 或者,您可以將Excel中的數據剪切並粘貼到JMP中。 但是你導入數據的方式放在我假設的是列標題的第二行作為數據的第一行。
這樣做的結果是,為了讓JMP讀入您的數據,它必須假設除第一列之外的所有列都包含非數值,因此該列不能作為數字列讀入。 JMP數據表是分析表結構,而不是基於單元的結構。 給定單元格中的所有數據必須是相同的類型....對於您的數據,字符或數字。
因此,首先要做的是糾正數據的導入。
如果您使用的是JMP Excel Addin,請使用屏幕頂部的“首選項”圖標設置標題行。
如果要從中打開Excel文件
文件==>打開
在JMP中,單擊要打開的Excel文件,然後轉到窗口上“打開”按鈕旁邊的向下箭頭,並選擇“使用Excel嚮導”
它將指導您正確導入Excel文件。
完成後,使用Summary表平台是一個簡單的事情
@ tylerram123 ,
導入數據時,如果您將第一行作為列名稱,則會很有幫助。如果發生這種情況,那麼您可以使用Tabulate函數:
您可以使用拖放功能計算不同的統計信息,如圖所示。至於您在哪裡找到表格,如下面的屏幕截圖所示:

