0

私は SPSS (v.20) を使用しており、構文を使用して、関心のあるいくつかの変数のそれぞれについてグラフを作成したいと考えています。2種類のグラフの例があります:

例 #1:

GGRAPH 
  /GRAPHDATASET NAME="graphdataset" 
    VARIABLES=change_WIraw[LEVEL=ratio] 
    MISSING=LISTWISE REPORTMISSING=NO 
  /GRAPHSPEC SOURCE=VIZTEMPLATE(NAME="Histogram with Normal Distribution"[LOCATION=LOCAL] 
    MAPPING( "x"="change_WIraw"[DATASET="graphdataset"])) 
    VIZSTYLESHEET="Traditional"[LOCATION=LOCAL] 
    LABEL='HISTOGRAM WITH NORMAL DISTRIBUTION: change_WIraw' 
    DEFAULTTEMPLATE=NO.

例 2:

GGRAPH 
  /GRAPHDATASET NAME="graphdataset" VARIABLES=GROUP change_WIraw MISSING=LISTWISE 
REPORTMISSING=NO 
      /GRAPHSPEC SOURCE=INLINE. 
BEGIN GPL 
  SOURCE: s=userSource(id("graphdataset")) 
  DATA: GROUP=col(source(s), name("GROUP"), unit.category()) 
  DATA: change_CTBWss=col(source(s), name("change_WIraw")) 
  DATA: id=col(source(s), name("$CASENUM"), unit.category()) 
  GUIDE: axis(dim(1), label("GROUP")) 
  GUIDE: axis(dim(2), label("change_WIraw")) 
  SCALE: cat(dim(1), include("1", "2", "3", "4")) 
  SCALE: linear(dim(2), include(0)) 
  ELEMENT: schema(position(bin.quantile.letter(GROUP*change_WIraw)), label(id)) 
END GPL.

ループを実行して、他の多くの変数に対してこれが発生するようにプログラムできるようにします (「change_WIraw」を交換します)。いくつかのガイダンスが欲しいです、ありがとう!これが質問するのに適切なフォーラムであることを願っています。(同様の質問を見つけましたが、それらは頻度などのより単純な機能に関するものでした。)

4

2 に答える 2

2

これには Python を使用することをお勧めします。Python for SPSS をまだ使用していない場合は、非常に基本的な基本事項について www.pythonforspss.org を参照してください。

change_WIraw to v10次に、これを試してください:実際の変数名に置き換えます (2 行目のみ)。それらはアクティブな DataSet 内で隣接していると想定されます。そして、実行するだけです:

begin program.
variables='change_WIraw to v10'
import spss,spssaux
vList=spssaux.VariableDict().expand(variables)
for vrbl in vList:
    spss.Submit("""
GGRAPH 
  /GRAPHDATASET NAME="graphdataset" VARIABLES=GROUP %(vrbl)s MISSING=LISTWISE 
REPORTMISSING=NO 
      /GRAPHSPEC SOURCE=INLINE. 
BEGIN GPL 
  SOURCE: s=userSource(id("graphdataset")) 
  DATA: GROUP=col(source(s), name("GROUP"), unit.category()) 
  DATA: change_CTBWss=col(source(s), name("%(vrbl)s")) 
  DATA: id=col(source(s), name("$CASENUM"), unit.category()) 
  GUIDE: axis(dim(1), label("GROUP")) 
  GUIDE: axis(dim(2), label("%(vrbl)s")) 
  SCALE: cat(dim(1), include("1", "2", "3", "4")) 
  SCALE: linear(dim(2), include(0)) 
  ELEMENT: schema(position(bin.quantile.letter(GROUP*%(vrbl)s)), label(id)) 
END GPL."""%locals())
end program.

構文は、指定した変数ごとに 1 回実行され%(vrbl)s、変数名に置き換えられます。

于 2012-12-11T17:45:15.073 に答える