用spss做psm的时候一直显示如下,缺少fuzzy,但我的spss里有,该怎么解决


* Propensity Score Matching. 
begin program python3. 
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) 
matchgroup = "M" + str(random.random())  #temporary variable 
tempdsname = "D" + str(random.random()) 
lrcmd = spssaux.u(r"""LOGISTIC REGRESSION VARIABLES group 
     /METHOD=ENTER albumin race gender age hyperlipemia af hypertension chf DM CKD STEMI sofa sapsii sirs cci cabg pci furosemide norepinephrine dopamine ventilation aki_stage_max DBP_1 SBP_1 weight_1 
     /SAVE=PRED(PS).""") 
try: 
   spss.Submit(lrcmd) 
except: 
   raise ValueError("Logistic Regression step failed") 
fuzzycmd = spssaux.u(r"""FUZZY BY=PS SUPPLIERID=ID NEWDEMANDERIDVARS=Match_id 
GROUP=group EXACTPRIORITY=FALSE 
DRAWPOOLSIZE=E_case MATCHGROUPVAR=%(matchgroup)s FUZZ=0.02 DS3=%(tempdsname)s 
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=TRUE SEED=123456. 
DELETE VARIABLES %(matchgroup)s. 
DATASET ACTIVATE %(ds)s. 
DELETE VARIABLES %(matchgroup)s. 
DATASET COPY Match. 
DATASET ACTIVATE Match. 
SELECT IF group EQ 1. 
DATASET ACTIVATE %(tempdsname)s. 
DATASET ACTIVATE Match. 
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

基于new bing部分指引作答:
根据您提供的代码和错误信息,问题出在缺少FUZZY扩展命令。虽然您已经确认在SPSS中安装了FUZZY扩展,但是代码仍然无法找到它。

可能的解决方法是检查FUZZY扩展是否正确安装并加载。请按照以下步骤进行操作:

1、确保您已经正确安装了FUZZY扩展。您可以通过在SPSS的语法编辑器中输入以下命令来检查扩展是否存在:

SHOW EXTENSION FUZZY.

如果FUZZY扩展正确安装,您应该能够看到有关扩展的信息。

2、如果FUZZY扩展已经安装但仍然无法识别,请尝试重新加载扩展。在SPSS的语法编辑器中输入以下命令:

INSERT FUZZY.

这将重新加载FUZZY扩展。之后再次运行您的代码,看看问题是否得到解决。

3、如果上述方法都不起作用,可能是由于其他问题导致无法识别FUZZY扩展。您可以尝试重新安装FUZZY扩展,确保按照正确的步骤进行安装。
另外,确保您的SPSS版本与代码中使用的代码兼容

答案参考ChatGPT Plus版,整理汇总。希望能帮助你解决问题
根据你提供的代码和错误信息,问题似乎是由于缺少FUZZY扩展命令导致的。FUZZY扩展命令在SPSS中用于模糊匹配,但是在你的环境中似乎未正确安装或加载。

要解决这个问题,你可以尝试以下几步:

  1. 确保已正确安装FUZZY扩展命令:请确保你的SPSS软件中已正确安装了FUZZY扩展命令。你可以检查SPSS安装目录下的"extensions"文件夹,查看是否存在FUZZY扩展的相关文件。

  2. 确保已正确加载FUZZY扩展命令:在你的SPSS语法中,使用BEGIN PROGRAMEND PROGRAM语句将Python代码嵌入到SPSS中。在这种情况下,你需要确保在运行Python代码之前正确加载FUZZY扩展命令。你可以尝试在Python代码块的开头添加以下语句,手动加载FUZZY扩展命令:

    spss.StartDataStep()
    spss.Submit('INSERT FUZZY')
    spss.EndDataStep()
    

    这将使用SPSS的DataStep模式,在运行Python代码之前插入FUZZY扩展命令。

  3. 确保FUZZY扩展命令的版本符合要求:在你的代码中,有一个版本检查的部分,要求FUZZY扩展命令的版本必须为1.3.0或更高。如果你的FUZZY扩展命令版本较低,可能会导致错误。你可以尝试更新FUZZY扩展命令到最新版本,或者修改代码中的版本检查部分。

请按照上述步骤检查和调整你的代码,确保FUZZY扩展命令正确安装、加载和版本符合要求。如果问题仍然存在,请参考SPSS和FUZZY扩展命令的官方文档,以获取更详细的指导和支持。

回答部分参考、引用ChatGpt以便为您提供更准确的答案:

这段代码是使用Python编写的,涉及了SPSS(统计软件)和FUZZY(模糊匹配)扩展命令。然而,代码中出现了一个错误,提示找不到名为'FUZZY'的变量,这意味着可能没有安装FUZZY扩展命令或者没有正确导入FUZZY模块。

为了解决这个问题,您可以执行以下步骤:

  1. 确保已经安装了SPSS软件以及FUZZY扩展命令。如果尚未安装FUZZY扩展命令,请按照相应的安装说明进行安装。
  2. 确保FUZZY模块已正确导入。在代码的开头,可以看到import FUZZY这一行,它用于导入FUZZY模块。如果找不到模块,请确保已正确安装FUZZY扩展命令,并且您的Python环境可以找到该模块。
  3. 如果仍然无法解决问题,可能是由于版本不兼容造成的。请检查FUZZY扩展命令的版本是否与代码要求的版本匹配。根据代码中的注释,至少需要FUZZY版本1.3.0或更高版本。如果版本不匹配,请尝试升级FUZZY扩展命令或更改代码以适应您当前的FUZZY版本。

请注意,我无法查看代码中的图像内容。如果您有关于图像的问题,请提供文字描述,我将尽力为您提供准确的答案。

尝试下这个思路-首先,按照下面的步骤安装fuzzy扩展命令:
1、在 SPSS 菜单栏中,选择 "Extensions",然后选择 "Install Extensions"2、在 "Install Extensions" 对话框中,搜索 "FUZZY" 并勾选 "Install" 选项。
3、单击 "OK" 开始安装。
4、安装完成后,重新启动 SPSS 并再次运行 PSM 分析。
其次,已安装该fuzzy扩展命令,按照下面命令正确导入:
import FUZZY

以上还有问题,检查下 FUZZY 扩展命令是否已将其添加到 SPSS 的扩展命令列表中。


SPSS23内置的FUZZY因为文件名问题PSM运行找不到路径,
解决的方法是:先运行一下其他需要调用Python command的功能,我调用了PSM下面的case control matching  ,做一下后再回来做PSM就可以用了!!!
本人撞过的壁:做PSM分组变量里面不可以有缺失值,所有新变量和数据集都要用英文起名,不然会跑不出结果!

根据你提供的代码和错误信息,显示SPSS缺少FUZZY扩展命令。这可能是由于你的SPSS软件没有安装或启用FUZZY扩展所致。

应该是FUZZY和spss这两个其中之一没有安装好,建议卸载掉重新安装spss22,安装的过程中注意,关闭掉杀毒软件,并已管理员身份运行。之后应该可以。

可能是因为没有加载FUZZY插件或者插件没有正确地被加载