通過 JSL 實現匯總表的附加功能我想知道如何獲得匯總表但包含其他統計信息。
例如,模式()是一個可以在公式中使用的函數,但這不起作用:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary( Group( :Age ),
subgroup( :sex ),
Mode( :Height )); // Mode isntead of mean我還想通過獲取該組的最後一個或第一個數字來總結該表。
高級統計建模消費者和市場研究內容組織數據混合和清理數據探索和可視化實驗設計大規模定制質量和工藝工程回复:通過 JSL 提供匯總表的附加功能您可以通過設置匯總表(或任何表功能)的可見性(私有、不可見、可見)來更快地使用它們。當我處理非常大的文件並且只需要提取我使用的私有模式時。
回复:通過 JSL 提供匯總表的附加功能我正在測試這種方法,恐怕這是不可行的。
在對大表(五十萬行和數百列)中的許多項目進行重新分組時,JMP 使用顯示分佈的時間太長。
相反,匯總表中的默認函數計算速度非常快。
回复:通過 JSL 提供匯總表的附加功能使用發行平台作為獲取這些內容的方法是一個不錯的技巧。
我已經在這裡添加了請求。將匯總表函數擴展到任何已定義的函數(例如模式、kurt、skew 等)
回复:通過 JSL 提供匯總表的附加功能你好@FN ,
即使模式不是表摘要中的選項,也一定有很多方法可以滿足您的要求。 您可以在分發平台的附加匯總統計表中手動詢問或點擊as @ian_jmp建議。 否則,請嘗試使用 Brady_brady 的添加:
JMP 的擴展匯總統計插件它從菜單中引用模式。
或者,嘗試以下腳本:
Names Default To Here( 1 );
// Open Data Table: Big Class.jmp
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// get frequencies for modes
dt2 = dt << Summary(
Group( :Age, :sex, :height ),
Link to original data table( 0 )
);
// delete all rows that are not modes
dt2 << select where( Or( :N Rows != Col Max( :N Rows, :age, :sex ), :N Rows == 1 ) );
dt2 << delete rows;
// indicate first and last values per group - Not min and max unless table is first sorted!!!
dt << New Column( "id age", Numeric, "Continuous", Format( "Best", 12 ), Formula( Sum( :age[Index( 1, Row() )] == :age ) ), eval formula, );
dt:id age << delete formula;
// remove all rows that are not first or last
dt << select where( And( :id age != Col Max( :id age, :age ), :id age != 1 ) );
dt << delete rows;
// create one table with all data and sort it
dt3 = dt << concatenate( dt2, Create source column );
dt3 << New Column( "Value",
Character,
"Ordinal",
Formula( If( :id age == 1, "First", :id age > 1, "Last", :N Rows > 1, "Mode" ) ),
Set Property( "Value Order", {Custom Order( {"First", "Mode", "Last"} ), Common Order( 0 )} ),
);
dt3 << sort( By( :age, :sex, :Value ), Order( Ascending ), replace table );
請注意,在大班的情況下,並非所有組都有明確的模式。我的方法是刪除它最高頻率等於1。
請告訴我們它是否有效或需要改進的地方。
羅恩
回复:通過 JSL 提供匯總表的附加功能FWIW(如果你了解一點 JSL),你可以做這樣的事情:
Names Default To Here( 1 );
// Sample data
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Invisible Distribution with 'By' group(s)
dist = dt << Distribution(Continuous Distribution(Column( :height ),Customize Summary Statistics(Mode(1))), By(:age, :sex), Invisible);
// Get the Summary Stats
dt2 = Report(dist[1])[TableBox(2)] << makeCombinedDataTable;
Report(dist[1]) << closeWindow;
// Retain only the Mode
dt3 = dt2 << Subset(Rows(dt2 << getRowsWhere(:Column 1 == "Mode")));
dt3 << setName("Mode Values");
Column(dt3, "Column 1") << setName("Statistic");
Column(dt3, "Column 2") << setName("Value");
Close(dt2, NoSave);
我也會考慮JMP 願望清單。
回覆:透過 JSL 實現匯總表的附加功能在 JMP 中,有多種方法可以產生分組總計統計資料。每種方法都提供一些統計數據,但不提供其他統計數據。
分發平台和標頭統計遠遠領先其他平台(Graph Builder、JSL Col ... 功能)。
https://community.jmp.com/t5/Community-Wish-List/Wish-list-new-Label-user-experience/idc-p/771691/highlight/true#M60
我猜其他平台的程式設計師都渴望趕上...