如何繪製標稱數據與連續數據的值計數您好,我有一個關於如何對我正在查看的某些數據進行建模的問題 (JMP 11)。
最終目標:顯示一個圖表,顯示標稱數據列 (X) 的值計數與實際值的計數。連續數據列 (Y)。
進一步在雜草中:
我有一個標稱數據列:DieNumber。
還有一個連續數據列:ResDelta。
我想顯示X 軸上顯示的每個DieNumber(例如:1、2、3)的計數,而不是每個DieNumber 值,但在圖形生成器中,當在Y 軸上繪製ResDelta(連續)時,將匯總統計量切換為 N是對 Y 進行匯總,而不是對 X 的每個值的計數進行匯總。
我發現的唯一解決方法是使用Overlay Plot 函數,將ResDelta 關聯爲\[Y\],將DieNumber 關聯爲\[By\],但是當我希望將數據全部放在一個圖表中時,這會單獨拆分每個圖表。
真的很掙扎,所以任何幫助將不勝感激,謝謝!視窗回复:如何繪製標稱數據與連續數據的值計數感謝您的幫助! 這就是它最終的樣子。 我會再清理一下,但僅此而已!

回复:如何繪製標稱數據與連續數據的值計數如果您按“名稱”對數據進行排序(使用@ih示例),以下公式將為您提供 JMP 11 中的列累積和
If(Lag(:Name) != :Name | Row() == 1, x = 0);
x++;
x
回复:如何繪製標稱數據與連續數據的值計數這非常接近,我認為 JMP 11 沒有 Col Cumulative Sum() 作為參數。 但這就是我想要看到的圖表和建模類型!
回复:如何繪製標稱數據與連續數據的值計數啊,謝謝你,這個例子澄清了你的用例!如果我理解正確的話,您希望將所有單獨的賽道時間繪製為單獨的點,而不僅僅是代表蒂姆兩次跑步的單個點。我會通過製作一個專欄來計算到目前為止每個人繞著跑道跑步的次數,然後將其與消耗的卡路里進行繪製。
軌道列周圍時間的公式可能如下所示(注意它只是對數字求和,而不是在第一個參數中包含列引用):


重新創建圖表的腳本:
查看更多... 回复:如何繪製標稱數據與連續數據的值計數感謝大家的幫助,如果這澄清了事情,我想提出一個可能更容易理解的類似問題。
問題示例:
蒂姆、亞歷克斯和薩拉繞著跑道跑步。 每圈後,都會測量消耗的卡路里。
Tim 繞跑道跑了 2 次,消耗卡路里數分別為:75 和 155。
Alex 跑了大約 4 次,卡路里測量值分別為:60、130、195 和 240 卡。
Sara 跑了大約 5 次,測量值分別為:65、125、180、235 和 280 卡。
如何繪製(跑步次數)與(燃燒的卡路里)的關係圖?
將此與我的問題聯繫起來:
(標稱)名稱 = ChipDieNum,
(標稱)運行次數 = ChipDieNum 計數,
(連續)燃燒的卡路里 = Delta Res。
根據記錄,我有 8,000 多個想要建模的數據條目。
回复:如何繪製標稱數據與連續數據的值計數這是迄今為止所有解決方案中最接近的,但我遇到的問題是我的最終圖需要是(ChipDieNum 的計數)與(Res Delta)。
例如:
ChipDieNum:401 運行校準 3 次,電阻增量:-10200; -2000; -100 歐姆。 數據中,ChipDieNum = (401), ChipDieNum Count = (3), & Res Delta = (-10200,-2000,-100)
ChipDieNum:510 運行校準 2 次,電阻增量:-13000、-2600; -200 歐姆。 顯示為:ChipDieNum = (510)、ChipDieNum 計數 = (2)、Res Delta = (-13000,-2600,-200)
我試圖通過繪製 ChipDieNum (X) 計數與 Res Delta (Y) 的關係,將芯片的 Res Delta 根據其校準次數的增加進行關聯。 從另一種意義上說,我試圖將多個 Res Delta (Y) 值與每個 ChipDieNum 值的 Count (X) 值關聯起來,其中 ChipDieNum 為名義值,Res Delta 為連續值。
回复:如何繪製標稱數據與連續數據的值計數這是我的另一種方法思考將在 JMP 11 中工作並繪製連續值,下面可能是使用直方圖顯示此數據的更簡單方法:
方法一
使用序數數據類型的表格和本地數據過濾器計算要繪製的點,排除 x 軸上的缺失值。 然後在新數據表中將數據類型更改回連續和繪圖。
- 使用如下公式添加一個新列(在較新版本的 JMP 中,您可以在平台啟動對話框中直接執行此操作,而無需創建列):

- 打開表格,暫時將 y 變量更改為名義值,之後可以將其更改回來。
- 添加本地數據過濾器以排除缺少年齡的行,設置為名義,然後選擇“0”

- 製作成數據表
- 將數據建模類型更改回連續
- 圖形

方法2
在圖形生成器中,僅使用 y 軸製作直方圖,並添加本地數據過濾器,排除 x 軸上的缺失值。
- 為 x 軸變量創建相同的“缺失”列
- 將該列添加為圖形生成器中的本地數據過濾器。
- 將y變量添加到y軸,它應該是連續的
- 將圖表更改為直方圖
- 將 y 軸上的軸設置更改為合理的值。 請注意,這仍然會進行一些合併,因此根據您在此處的設置,它可能會將高度 51.1 和 51.2 合併到計數為 2 的同一條中。

回复:如何繪製標稱數據與連續數據的值計數你好@Jakedahsnake ,
就像其他成員試圖找到解決您問題的方法一樣,我將根據討論嘗試另一種解決方案。
為了創建所附圖表,請執行以下步驟:
- 按 Die ID 創建新列“Count”:
// New formula column: Count
Data Table( "dieexample" ) << New Formula Column(
Operation( Category( "Aggregate" ), "Count" ),
Columns( :ResDelta ),
Group By( :Die )
);
- 創建一個圖表,顯示 ResDelta 根據點數的分佈,並在“Overlay”中添加 Die ID 信息和箱線圖以方便比較(可選,如果數據集很大,可能會很混亂):
Graph Builder(
Size( 984, 474 ),
Show Control Panel( 0 ),
Variables( X( :Count ), Y( :ResDelta ), Overlay( :Die ) ),
Elements( Points( X, Y, Legend( 10 ) ), Box Plot( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{10, [0, 1, 2, 3, 4], 12, [-1, -1, -1, -1, -1, -3, -3, -3, -3, -3]}
)}
)
)
);
完成此操作後,您應該看到附加的圖表(我在圖表和腳本中添加了箱線圖,但如果這對您的目標沒有用,您可以刪除它們):

我還附上了用於演示的數據集以及附加的圖形腳本。
希望對你有幫助,
回复:如何繪製標稱數據與連續數據的值計數如果這是您想要的圖表類型

這是我在 JMP 11 中使用的方法。較新的版本會更容易。
首先,我使用公式創建一個名為“count”的新列
If(Lag(:Die) != :Die | Row() == 1, x = 0);
x++;
x
然後將標籤狀態應用於計數列。
每行都有為其設置的標籤狀態。這將允許將值顯示為標籤。
ResDelta 列被拖動到 Y dop 區域
骰子被拖到 X 放置區域
將計數拖至顏色放置區域
完成最後一步後,點的顏色可以更改為白色,這樣它們就不會顯示在圖表上。要更改顏色,只需轉到圖例中的每個彩色點,一次右鍵單擊它們,然後將顏色更改為白色。
回复:如何繪製標稱數據與連續數據的值計數不過,ResDelta 是連續數據。 另外,控制面板中的點下拉列表旁邊沒有紅色箭頭。 也許是因為我使用的是 JMP 11。
回复:如何繪製標稱數據與連續數據的值計數啊,現在我明白了。您需要將 y 軸更改為序數或名義數據,並且然後選擇要在點的紅色三角形下匯總的響應軸。在某些情況下,您可能需要首先對數據進行分箱,例如四捨五入到最接近的整數,但在您的情況下,Res Delta 看起來已經是整數了。

現在,由於某種原因,當我運行此命令時,x 軸標籤弄亂了,因此我必須進入 x 軸設置並修復它們。 所以,我認為這個腳本應該有效:
查看更多...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 502, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
)
);
名稱默認為此處( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << 設置建模類型("Ordinal"); dt:age << 設置建模類型("Ordinal");圖形生成器(大小(502, 256),顯示控制面板(0),變量(X(:年齡),Y(:高度)),元素(點(X,Y,圖例(3)),匯總統計( “N” " ), 響應軸( "X" ) ) ) );
但我需要使用這個:
查看更多...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 501, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Label Row(
{Tick Mark( Label( "12" ), Label( "0" ) ),
Tick Mark( Label( "13" ), Label( "1" ) ),
Tick Mark( Label( "14" ), Label( "2" ) ),
Tick Mark( Label( "15" ), Label( "3" ) ),
Tick Mark( Label( "16" ), Label( "4" ) ),
Tick Mark( Label( "17" ), Label( "5" ) )}
)}
)
)
);
名稱默認為此處( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << 設置建模類型("Ordinal"); dt:age << 設置建模類型("Ordinal");圖形生成器(大小(501, 256),顯示控制面板(0),變量(X(:年齡),Y(:高度)),元素(點(X,Y,圖例(3)),匯總統計( “N” " ), 響應軸( "X" ) ) ), SendToReport( Dispatch( {}, "age", ScaleBox, {Label Row( {Tick Mark( Label( "12" ), Label( "0" ) ), Tick標記( 標籤( "13" ), 標籤( "1" ) ), 刻度線( 標籤( "14" ), 標籤( "2" ) ), 刻度線( 標籤( "15" ), 標籤( "3" ) ), 刻度線( 標籤( "16" ), 標籤( "4" ) ), 刻度線( 標籤( "17" ), 標籤( "5" ) )} )} ) ) );
回复:如何繪製標稱數據與連續數據的值計數我嘗試過這樣做,但由於某種原因,JMP 總結了 Y(我猜是因為它是連續數據)而不是總結了 X 的 N,所以我最終得到了不同的圖表:

雖然這顯示了 ChipDieNumber 的計數,但它現在繪製在 Y 上而不是 ResDelta 上。
回复:如何繪製標稱數據與連續數據的值計數在點下,嘗試將匯總統計數據更改為“N”:

我認為這給出了您正在尋找的內容:

重新創建的腳本:
查看更多...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
win = New Window("Example",
H List Box(
Graph Builder(
Size( 503, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ), Summary Statistic( "N" ) ) )
),
Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
)
)
);
名稱默認為此處( 1 ); dt = Open( "$Sample_data/big class.jmp" ); win = 新窗口("示例", H 列錶框( 圖形生成器( 大小( 503, 256 ), 顯示控制面板( 0 ), 變量( X( : 年齡), Y( : 高度) ), 元素( 點( X , Y, 圖例( 3 ), 匯總統計( "N" ) ) ) ), 製表( 顯示控制面板( 0 ), 添加表格( 行表( 分組列( :age ) ) ) ) ) );
回复:如何繪製標稱數據與連續數據的值計數感謝您的熱烈歡迎,也感謝您花時間關注此事! 我按照我認為應該的方式繪製了 X 和 Y 上的變量,這是我所看到的:

這幾乎是正確的,除了每個 X (ChipDieNum) 可以有多個 Y 值 (ResDelta)。 我不想繪製 X 值,而是繪製每個 X (ChipDieNum) 值的計數。
如前所述,X 設置為標稱,Y 設置為連續。
回复:如何繪製標稱數據與連續數據的值計數首先,歡迎來到社區。 我不確定我是否理解這個問題,但我附加了一個假數據集,其中包含兩個變量 Die 和 ResDelta 的假數字。 我已經保存了圖形生成器的腳本(綠色箭頭)。 只需點擊它即可。 這是你想要的? 順便說一句,我使用的是 V17,所以不確定它是否能在 V11 上工作......所以這是腳本:
Graph Builder(
Variables( X( :Die ), Y( :ResDelta ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)