Ich möchte eine 3D-Grafik mit Punkten (ich glaube, ich habe es geschafft) und eine mathematische Funktion der Menge dieser Punkte. Meine Variable V1 kann zwei Werte von 2 oder 4 annehmen. Wenn also V1 gleich 2 ist, zeichnet eine Funktion, andernfalls ist V1 gleich 4, die andere Funktion plottet. Wenn ich es versuchen, tun diese Meldung angezeigt:Plotten 3D-Funktion und Punkte in SPSS
Erro de GPL: Algebra (. Iter (5000,1000000,10) DOIF (V1 = 2)) Erwartung (oder + oder * oder /: iter (5000, 1000000,10) DOIF (V1 = 2)
Mein Code:
> GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=V2 pacpop V1
> MISSING=LISTWISE REPORTMISSING=NO /GRAPHSPEC SOURCE=INLINE. BEGIN
> GPL SOURCE: s=userSource(id("graphdataset"))
>DATA:V2=col(source(s), name("V2"))
>DATA: pacpop=col(source(s),name("pacpop"))
>DATA: V1=col(source(s), name("V1"),unit.category())
>COORD: rect(dim(1,2,3))
>GUIDE: axis(dim(1),label("Sexo"))
> GUIDE: axis(dim(2), label("Rendimento Mensal"))
> GUIDE: axis(dim(3), label("pacpop"))
>SCALE: log(dim(2), base(10))
>SCALE: log(dim(3), base(10))
>SCALE: cat(dim(1), include("2", "4"))
> ELEMENT: point(position(V1*V2*pacpop))
>DATA: p = iter(0,5000,1)
> DATA: q = iter(5000,1000000,10)
>DATA: x = iter(0,5000,1)
>DATA: z =iter(5000,1000000,10)
>DO IF (V1=2).
>TRANS: y =eval(100*exp((-x/1654.97))
> TRANS: w = eval((10**8.865)/(z**2.186))
> ELEMENT: line(position(V1*x*y),color.interior(color."ff0000"))
> ELEMENT: line(position(V1*z*w), color.interior(color."ff0000"))
> ELSE.
> TRANS: r = eval(100*exp((-p/1415.97))
>TRANS: s = eval((10**7.065)/(q**2.216))
>ELEMENT:line(position(V1*p*r),color.interior(color."ff0000"))
ELEMENT:line(position(V1*q*s), color.interior(color."ff0000"))
>END IF.
> END GPL.
Sie können eine DO IF in einer GGRAPH-Anweisung nicht mischen. –