2017-07-11 4 views
0

Pythonでカスタムダイアログの拡張コマンドを書いています。しかし、私はCDBのUIから入力変数をキャプチャするのに苦労しています。入力変数は、以下の通りである:
1 %% dep_variable %%
これは従属変数
2つの変数の選択肢である%% indep_variable %%
これは、独立変数の複数の可変オプションである入力値をキャプチャするカスタムダイアログボックスPythonプログラムで使用するSPSS

これは現在のコードです。私は独立変数の回帰係数を表示しています。しかし、私は2つの問題に遭遇しています:
1.ロジスティック回帰を実行する行は、%% dep_var %%または%% indep_var %%を読み取ることができません。また、変数(dep_varとindep_var_list)を作成して、%% dep_var %%または%% indep_var %%を引用符で囲んだときにもそうではありません。私は間違って何をしていますか?
2. %% indep_var %%を反復処理できません。%% indep_var %%をどのように変換すればよいのですか?これは反復可能な独立変数のリストですか?

BEGIN PROGRAM. 
import spss,spssaux 

dep_var="%%dep_var%%" 
indep_var_list="%%indep_var%%" 

cmd="LOGISTIC REGRESSION VARIABLES dep_var\ 
    /METHOD=ENTER indep_var_list\ 
    /CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5)." 
handle,failcode=spssaux.CreateXMLOutput(
cmd, 
omsid="LOGISTIC REGRESSION", 
visible=False) 

for i in indep_var_list: 
    result=spssaux.GetValuesFromXMLWorkspace(
    handle, 
    tableSubtype="Variables in the Equation", 
    rowCategory= indep_var_list[i], 
    colCategory="B", 
    cellAttrib="text") 
    print "The coefficient is: ", result[0] 
END PROGRAM 

答えて

0

まず、cmd変数には、リテラル名のdep_varとindep_var_listが挿入されています。これらの変数の値が必要なので、構文では%% dep_var %%などと書かれていなければなりません。例えば、
"" "LOGISTIC ... VARIABLES%s .. "" "%(dep_var ...)

第2に、indep_var_list変数はリストではなく1つの文字列です。最初に変換する必要があります。たとえば、
indep_var_list = indep_var_list.split()

関連する問題