请教:spss23运行倾向得分匹配出错,如下:
GET
FILE='C:\Users\Administrator\Desktop\无标题2.sav'.
DATASET NAME 数据集1 WINDOW=FRONT.
* Propensity Score Matching.
begin program.
import spss, random, spssaux, codecs
try:
import FUZZY
except:
print "This procedure requires the FUZZY extension command which is not installed."
parts = [int(i) for i in FUZZY.__version__.split(".")]
if parts < [1,3,0]:
raise EnvironmentError("This procedure requires version 1.3.0 or later of FUZZY")
ds = spss.ActiveDataset()
if ds =="*":
ds = "D" + str(random.random())
spss.Submit("DATASET NAME " + ds)
ds = codecs.encode(ds) # must use code page rep here
matchgroup = "M" + str(random.random()) #temporary variable
tempdsname = "D" + str(random.random())
lrcmd = spssaux.u(r"""LOGISTIC REGRESSION VARIABLES gourp
/METHOD=ENTER x1 x2 x3
/SAVE=PRED(a).""")
try:
spss.Submit(lrcmd)
except:
raise ValueError("Logistic Regression step failed")
fuzzycmd = spssaux.u(r"""FUZZY BY=a SUPPLIERID=ID2 NEWDEMANDERIDVARS=b
GROUP=gourp EXACTPRIORITY=FALSE
MATCHGROUPVAR=%(matchgroup)s FUZZ=0.3 DS3=%(tempdsname)s
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE .
DELETE VARIABLES %(matchgroup)s.
DATASET ACTIVATE %(ds)s.
DELETE VARIABLES %(matchgroup)s.
DATASET COPY l.
DATASET ACTIVATE l.
SELECT IF gourp EQ 1.
DATASET ACTIVATE %(tempdsname)s.
DATASET ACTIVATE l.
ADD FILES /FILE=* /FILE=%(tempdsname)s.
EXECUTE.
DATASET CLOSE %(tempdsname)s.""" % locals())
spss.Submit(fuzzycmd)
end program.
This procedure requires the FUZZY extension command which is not installed.
Traceback (most recent call last):
File "<string>", line 7, in <module>
NameError: name 'FUZZY' is not defined
怎么解决啊?