SPSS条形图中累计百分比问题
本教程提供关于如何在SPSS中正确计算并在条形图中显示累计百分比的解决方案。
SPSS 语法示例来源: www.spss-tutorials.com.
数据编辑结果保存在 data19.sav 文件中.
通常,你可能会尝试以下方法来绘制条形图:
从 Graphs(图形)=> Legacy Dialogs(旧对话框)=> Bar(条形图)=> Simple(简单).
首先尝试使用以下SPSS语法:
GRAPH
/BAR(SIMPLE)=PCT BY sector
/PANEL COLVAR=Year COLOP=CROSS. /* 错误的百分比 => 显示的是总体百分比,而不是年份的百分比。*/
这个方法会产生错误的百分比,因为它计算的是总体百分比,而不是每个年份的百分比。
接下来,你可能会尝试计算累计百分比:
GRAPH
/BAR(SIMPLE)=CUPCT BY sector
/PANEL COLVAR=Year COLOP=CROSS. /* 再次得到错误的百分比,不确定计算的是什么百分比... */
这个方法同样会得到错误的百分比,其含义不明。
为了获得正确的累计百分比,请运行以下命令。
以下代码展示了如何针对特定年份(例如2011年)计算行业(sector)的频率:
temporary.
select if year = '2011'.
title 'Only 2011 respondents in table below'.
frequencies sector.
这段代码首先筛选出2011年的数据,然后计算行业(sector)的频率。
正确的方法,但会产生单独的图表。
以下代码展示了如何按年份(year)拆分文件,并为每个年份创建一个条形图:
sort cases by year.
split file by year.
GRAPH
/BAR(SIMPLE)=CUPCT BY sector.
split file off.
这段代码首先按年份(year)排序案例,然后按年份拆分文件。接下来,它为每个年份绘制一个行业(sector)累计百分比的条形图。最后,它关闭文件拆分。
从 Graphs(图形)=> Chart Builder(图表构建器)=> 产生的单个图表百分比正确,但没有累计百分比…
以下代码展示了使用 Chart Builder(图表构建器)创建百分比条形图的语法:
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=sector COUNT()[name="COUNT"] Year MISSING=LISTWISE
REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: sector=col(source(s), name("sector"), unit.category())
DATA: COUNT=col(source(s), name("COUNT"))
DATA: Year=col(source(s), name("Year"), unit.category())
GUIDE: axis(dim(1), label("Primary Sector"))
GUIDE: axis(dim(2), label("Percent"))
GUIDE: axis(dim(3), label("Year"), opposite())
SCALE: cat(dim(1), include("1", "2", "3", "4", "5", "6"))
SCALE: linear(dim(2), include(0))
ELEMENT: interval(position(summary.percent(sector*COUNT*Year, base.all())), shape.interior(shape.square))
END GPL.
这段代码使用 GPL(Graphics Production Language,图形生产语言)定义图表的结构和样式。它创建一个百分比条形图,其中x轴表示行业(sector),y轴表示百分比,面板变量是年份(Year)。 但是这种方法无法直接获得累计百分比.