我刚刚开始使用SPSS,我可以选择在SPSS中尝试选择案例,然后根据该过滤器查找频率。 对于Eg: 假设Q1有12个部分,Q1_1 Q1_2 Q1_3 Q1_4 Q1_5 Q1_6 Q1_7 Q1_8 Q1_9 Q1_10 Q1_11 Q1_12 我希望根据我在select case中使用的条件来查看这些变量中的数据。现在,当我尝试根据过滤器查看这些变量的频率时,12个中只有4个满足数据。
现在我的问题是我可以隐藏休息8并在输出窗口中仅显示4个数据。
答案 0 :(得分:2)
你不是要完全清楚你想要描述的是什么,但是在线之间阅读,我猜你正试图删除从频率生成的表,这些表可能是空的(可能是由于应用了过滤器但可能不一定)
您可以使用SPSS Scripting执行此操作,但是为了避免这种情况,您可能希望使用CTABLES进行探索,虽然它可能与FREQUENCY表输出的格式完全相同,但它仍然会检索相同的信息。
下面的解决方案。假设Python集成安装了SPSS SELECT VARIABLES,当然还有CTABLE附加模块。
/****** Simulate example data ******/.
input program.
loop #j = 1 to 100.
compute ID=#j.
vector Q(12).
loop #i = 1 to 12.
do if #j<51 and #i<9.
compute Q(#i) = $sysmis.
else.
compute Q(#i) = trunc(rv.uniform(1,5)).
end if.
end loop.
end case.
end loop.
end file.
end input program.
execute.
/************************************/.
/* frequencies without filtering applied */.
freq q1 to q12.
/* frequencies WITH filtering applied */.
/* Empty table here shoult be removed */.
temp.
select if (ID<51).
freq q1 to q12.
spssinc select variables macroname="!Qp" /properties pattern = "^Q\d+$"/options separator="+" order=file.
spssinc select variables macroname="!Qs" /properties pattern = "^Q\d+$"/options separator=" " order=file.
temp.
select if (ID<51).
ctables /table (!Qp)[c][count colpct]
/categories variables=!Qs empty=exclude.
请注意,如果您在总水平评估了空变量,那么spssaux2
(spssaux2.FindEmptyVars
)中有一个函数可以帮助您找到空变量,然后您可以构建语法以排除这些,因此包含仅包含有效响应的变量,然后运行FREQUENCIES
。但我不认为spssaux2.FindEmptyVars
会尊重任何过滤。