如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?在多元分析報告中,斯皮爾曼相關性結果以表格形式呈現;能否轉換為矩陣格式,例如皮爾森相關矩陣?
基礎資料分析與建模內容組織回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?嗨@frankderuyck ,
在多元平台的表格中獲得斯皮爾曼相關性結果後,您可以右鍵單擊該表格,選擇“生成數據表”,然後使用圖形生成器在這個新數據表上重現您通常用於皮爾遜相關矩陣的那種圖形:

您也可以使用 Tabulate 平台基於此資料表產生表格:

由於皮爾遜相關係數是對稱的,因此某些變數對之間可能會出現缺失值(例如,如果 A 和 B 之間存在相關係數,則 B 和 A 之間的相關係數不會顯示,但實際上它們相同)。為了獲得美觀的圖表或表格,您可能需要新增「值順序」列屬性,以便對不同的變數進行排序。
使用 JSL 程式碼從表格產生圖表:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :by Variable ), Y( :Variable ), Color( :Spearman ρ ) ),
Elements( Heatmap( X, Y, Legend( 7 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient( {Scale Values( [-1 0 1] )} )},
Item ID( "Spearman ρ", 1 )
)
)}
),
Dispatch( {}, "graph title", TextEditBox,
{Set Text( "Variable by Variable Spearman correlation matrix" )}
)
)
);
對於從 Tabulate 產生的表格(您可以使用 Tabulate 的「產生資料表」選項中的紅色三角形選項將其轉換為 JMP 資料表):
Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Grouping Columns( :by Variable ),
Analysis Columns( :Spearman ρ ),
Statistics( Mean )
),
Row Table( Grouping Columns( :Variable ) )
)
);
請查看附件,其中包含本範例使用的資料表和分析。
希望這個回答對您有幫助。
回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?謝謝 Victor,這個圖表構建器選項看起來很有趣!
回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?看來紅色三角形下沒有斯皮爾曼矩陣選項?
回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?當我運行腳本處理皮爾曼相關係數表時,得到的結果非常混亂…?而且製表腳本也無法產生類似皮爾遜相關係數的矩陣?由於變數眾多,對值進行排序並不容易。皮爾遜相關係數矩陣可以完美生成,為什麼斯皮爾曼相關係數矩陣不行?

回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?附件為矛兵等級表
回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?嗨,弗蘭克,
是的,變數的順序對於獲得漂亮的三角形混淆矩陣非常重要。
我利用你的數據集找到了解決方案:
- 右鍵點選「變數」列,新建公式列>分組依據。
- 然後,右鍵點選「變數」列,選擇「新公式列」>「字元」>「排名(反向排序)」 。然後重複步驟 1,使「變數」不再是分組依據變數。
- 對「按變數」列執行相同的步驟。
- 將這兩個新列的建模類型變更為有序列。
- 然後您可以使用圖表產生器,放置「變數」、「按變數」和「斯皮爾曼」列,並在「變數」軸上方新增「反向排名[變數][變數]」列,在「按變數」軸上方新增「反向排名[按變數][按變數]」欄位。
然後你應該會得到漂亮的斯皮爾曼相關係數矩陣:

或者,在建立排名列之後,您可以直接使用此圖表建立器腳本:
Graph Builder(
Size( 733, 664 ),
Show Control Panel( 0 ),
Variables(
X( :"Reverse Rank[by Variable][by Variable]"n ),
Y( :"Reverse Rank[Variable][Variable]"n ),
Color( :Spearman ρ )
),
Elements( Heatmap( X, Y, Legend( 22 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
22,
Properties(
0,
{gradient( {Scale Values( [-1 0 1] )} )},
Item ID( "Spearman ρ", 1 )
)
)}
),
Dispatch( {}, "graph title", TextEditBox,
{Set Text( "Correlation matrix Spearman" )}
)
)
);
對於製表選項,操作比較簡單,只需選取「按分組列數排序」選項即可獲得漂亮的矩陣:

附件中包含您的資料集,以及已新增的兩列資料和視覺化圖表。
希望這個回答對您有幫助。
回覆:如何將斯皮爾曼相關係數表轉換為類似皮爾森相關係數的矩陣格式?太好了,謝謝你,維克多!