Matrix 如何在SPSS中创建相关图?

Matrix 如何在SPSS中创建相关图?,matrix,heatmap,correlation,spss,Matrix,Heatmap,Correlation,Spss,据我所知,相关矩阵热图(correlogram)只是最棒的可视化工具之一。然而,在SPSS中,不存在通过相关矩阵输出来实现这一点的内置可能性。 为了解决这个问题,我写了一篇短文和博客文章,但不知何故我不能使用它(没有编码背景) 实现变量名称和内容后,错误消息: The specified variable Var2 does not exist. (这不是真的) 以下是我的语法: dataset declare corr_matrix. OMS /SELECT TABLES /IF SUBT

据我所知,相关矩阵热图(correlogram)只是最棒的可视化工具之一。然而,在SPSS中,不存在通过相关矩阵输出来实现这一点的内置可能性。

为了解决这个问题,我写了一篇短文和博客文章,但不知何故我不能使用它(没有编码背景)

实现变量名称和内容后,错误消息:

The specified variable Var2 does not exist.
(这不是真的)

以下是我的语法:

dataset declare corr_matrix.
OMS
/SELECT TABLES
/IF SUBTYPES = 'Correlations'
/DESTINATION FORMAT = SAV OUTFILE = 'corr_matrix'.


CORRELATIONS
  /VARIABLES=age sport school a_rank_stndrdzd b_rank_stndrdzd time_played_day rage_all toxic_all TIPI_E TIPI_A TIPI_C TIPI_ES TIPI_O POGQ_total

  /PRINT=TWOTAIL NOSIG
  /MISSING=PAIRWISE.

OMSEND.

*cleaning up the file.

dataset activate corr_matrix.

select if Var2 <> "Sig. (2-tailed)" and Var2 <> "N".

match files file = *
/drop Command_ Subtype_ Label_ Var2.
execute.


*now to reshape the data.

varstocases
/make Corr from age to POGQ_total
/INDEX Var2 (Corr).


******************************************************.
*Now to make my graphs.

*I make categories to map to colors.

if Corr < -.6 Corr_Dis = -2.
if Corr >= -.6 and Corr < -.2 Corr_Dis = -1.
if Corr >= -.2 and Corr < .2 Corr_Dis = 0.
if Corr >= .2 and Corr < .6 Corr_Dis = 1.
if Corr > .6 Corr_Dis = 2.
execute.

recode Corr (-1 thru -0.6 = -2)(-0.6 thru -0.2 = -1)(-0.2 thru 0.2 = 0)(0.2 thru 0.6 = 1)(0.6 thru 1 = 2) into Corr_Dis.
execute.

value labels Corr_Dis
-2 '-1 to -0.61'
-1 '-6 to -.21'
0 '-.2 to .19'
1 '.2 to .59'
2 '.6 to 1'
.

*Colors taken from ColorBrewer.

*Heat Map.

formats Corr (F3.2).

DATASET ACTIVATE corr_matrix.
* Chart Builder.
GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=Var2 Var1 Corr_Dis Corr MISSING=LISTWISE 
    REPORTMISSING=NO
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  PAGE: begin(scale(1200px,800px))
  SOURCE: s=userSource(id("graphdataset"))
  DATA: Var2=col(source(s), name("Var2"), unit.category())
  DATA: Var1=col(source(s), name("Var1"), unit.category())
  DATA: Corr_Dis=col(source(s), name("Corr_Dis"), unit.category())
  DATA: Corr=col(source(s), name("Corr"))
  GUIDE: axis(dim(1), label(" "))
  GUIDE: axis(dim(2), label(" "))
  GUIDE: legend(aesthetic(aesthetic.color.interior), label("Correlation"))
  SCALE: cat(aesthetic(aesthetic.color.interior), map(("-2", color."0571B0"), ("-1", color."92C5DE"),("0", color."F7F7F7"),("1", color."F4A582"), ("2", color."CA0020")))
  SCALE: cat(dim(1), sort.natural(), reverse())
  SCALE: cat(dim(2), sort.natural())
  ELEMENT: polygon(position(Var2*Var1)), color.exterior(color_white), color.interior(Corr_Dis), label(Corr))
  PAGE: end()
END GPL.

compute corr_abs = ABS(corr).
execute.
dataset声明corr\u矩阵。
OMS
/选择表格
/如果子类型=‘相关性’
/目标格式=SAV输出文件='corr_矩阵'。
相关性
/变量=年龄体育学校a_排名_标准排名(b)排名(d)时间(d)(d)(d)(d)(d)(d)(d
/打印=双尾翼
/缺失=成对。
奥姆森德。
*清理文件。
数据集激活corr_矩阵。
选择Var2“Sig.(双尾)”和Var2“N”。
匹配文件=*
/拖放命令uuSubtype uLabel uvar2。
执行。
*现在来重塑数据。
瓦斯托卡斯
/从年龄到POGQ_总计进行修正
/索引Var2(Corr)。
******************************************************.
*现在来制作我的图表。
*我将类别映射到颜色。
如果Corr<-6,则Corr\u Dis=-2。
如果Corr>=-6和Corr<-2,则Corr\u Dis=-1。
如果Corr>=-2和Corr<.2,则Corr\u Dis=0。
如果Corr>=.2和Corr<.6,则Corr\u Dis=1。
如果Corr>0.6,则Corr\u Dis=2。
执行。
将Corr(-1至-0.6=-2)(-0.6至-0.2=-1)(-0.2至0.2=0)(0.2至0.6=1)(0.6至1=2)重新编码到Corr\u Dis中。
执行。
值标签
-2'-1至-0.61'
-1'-6至-.21'
0'-.2至.19'
1.2至0.59'
2.6至1'
.
*颜色取自ColorBrewer。
*热图。
格式更正(F3.2)。
数据集激活corr_矩阵。
*图表生成器。
图形
/GRAPHDATASET NAME=“GRAPHDATASET”变量=Var2 Var1 Corr\u Dis Corr MISSING=LISTWISE
REPORTMISSING=否
/GraphSec源=内联。
开始GPL
页码:开始(刻度(1200px,800px))
SOURCE:s=userSource(id(“graphdataset”))
数据:Var2=col(源、名称(“Var2”)、单位.category()
数据:Var1=col(来源、名称(“Var1”)、单位.category()
数据:Corr_Dis=col(来源、名称(“Corr_Dis”)、单位.类别()
数据:Corr=col(来源、名称(“Corr”))
导向装置:轴(尺寸(1),标签(“”)
导向装置:轴(尺寸(2),标签(“”)
指南:图例(美学(美学、色彩、内饰)、标签(“相关性”))
比例:cat(美学(美学、颜色、内饰)、地图(“-2”,颜色为“0571B0”)、(“-1”,颜色为“92C5DE”)、(“0”,颜色为“F7F7F7”)、(“1”,颜色为“F4A582”)、(“2”,颜色为“CA0020”))
比例:cat(尺寸(1)、sort.natural()、reverse())
比例:cat(尺寸(2),排序.natural())
元素:多边形(位置(Var2*Var1)),颜色。外部(颜色为白色),颜色。内部(颜色为红色),标签(颜色为红色))
第页:结束()
结束GPL。
计算corr_abs=abs(corr)。
执行。