跟进this question and it's answer,我正在尝试在Python中创建一个SPSS自定义函数,以便在SPSS语法中使用。
我有一个在语法中运行良好的程序:
begin program.
import spss,spssaux, sys
def CustomFunction ():
#function code here
CustomFunction()
end program.
但我希望{"正常" SPSS语法。
答案 0 :(得分:1)
标准语法不使用Python代码,也不将Python函数添加到转换系统。如果你有一个Python模块,只需导入该模块就可以直接使用它的内容。并且不要担心多次导入它,因为Python非常聪明地忽略冗余导入。
如果要将Python代码用作常规语法,则需要创建扩展命令。它们具有标准样式的语法,但是用Python(或R或Java)实现。其中许多都安装了Statistics或可从Utilities菜单(或V24中的Extensions菜单)安装。有关如何编写这些内容的信息,请参阅帮助系统中的Python帮助文档和相关主题。
例如,SPSSINC TRANS扩展命令使Python函数可用作转换代码。如果CustomFunction,例如,创建或转换变量casewise并存储在mymodule.py中,它可能会像这样调用。
SPSSINC TRANS RESULT = newvar
/ FORMULA“mymodule.CustomFunction(x,y,z)”。
统计启动时会自动加载扩展命令,因此不需要启动脚本。