首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较OMS捕获的不同结果

比较OMS捕获的不同结果
EN

Stack Overflow用户
提问于 2018-02-21 09:04:39
回答 1查看 113关注 0票数 1

在之前的一篇文章Scale Building in SPSS之后,我尝试使用克朗巴赫的alpha和alpha-if-deleted自动构建规模的过程。手动过程要求我运行可靠性分析,然后检查alpha-if-Delete值,看看哪些变量应该从标度中删除。这可能需要几次迭代,所以我正在尝试将其自动化。到目前为止,我的语法如下:

代码语言:javascript
复制
* Make sure output tables contain variable names only...

set onumbers values ovars names tnumbers values tvars names.

* OMS to capture the alpha coefficient

DATASET DECLARE  Alpha.
OMS
  /SELECT TABLES
  /IF COMMANDS=['Reliability'] SUBTYPES=['Reliability Statistics']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_
   OUTFILE='Alpha' VIEWER=YES.

* OMS to capture the Item_totals.

DATASET DECLARE  Item_Totals.
OMS
  /SELECT TABLES
  /IF COMMANDS=['Reliability'] SUBTYPES=['Item Total Statistics']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_
   OUTFILE='Item_Totals' VIEWER=YES.

* Running the reliability analysis

RELIABILITY
  /VARIABLES=Binary_12085 Binary_12213 Binary_18007 Binary_19829 Binary_19830 Binary_4451 
    Binary_4465 Binary_5140 Binary_5149 Binary_8513
  /SCALE('Original Scale') ALL
  /MODEL=ALPHA
  /SUMMARY=TOTAL. 

下一步是将alpha数据集(变量名: CronbachsAlpha )中的Alpha值与CronbachsAlphaifItemDeleted (在Item_Totals dataset中)进行比较,并选择Var1 (Item_Totals dataset) where CronbachsAlphaifItemDeleted <= CronbachsAlpha中的值。一旦我可以从Var1中捕获该列表,我希望将其重新转换为语法,以便对这些变量运行下一次可靠性分析。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-21 19:18:48

下面将创建一个仅包含您指定的变量名称的宏。

首先,这将创建一些样本数据并重新创建您描述的情况(使用您的语法):

代码语言:javascript
复制
data list free/Binary_12085 Binary_12213 Binary_18007 Binary_19829 Binary_19830 
    Binary_4451 Binary_4465 Binary_5140 Binary_5149 Binary_8513 (10f2).
begin data
1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 0
end data.

***THE FOLLOWING IS A COPY OF THE SYNTAX IN THE ORIGINAL QUESTION.**

* Make sure output tables contain variable names only...
set onumbers values ovars names tnumbers values tvars names.
* OMS to capture the alpha coefficient
DATASET DECLARE  Alpha.
OMS   /SELECT TABLES   /IF COMMANDS=['Reliability'] SUBTYPES=['Reliability Statistics']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_    OUTFILE='Alpha' VIEWER=YES.
* OMS to capture the Item_totals.
DATASET DECLARE  Item_Totals.
OMS   /SELECT TABLES   /IF COMMANDS=['Reliability'] SUBTYPES=['Item Total Statistics']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_    OUTFILE='Item_Totals' VIEWER=YES.
* Running the reliability analysis.
RELIABILITY   /VARIABLES=Binary_12085 Binary_12213 Binary_18007 Binary_19829 Binary_19830 
Binary_4451 Binary_4465 Binary_5140 Binary_5149 Binary_8513
  /SCALE('Original Scale') ALL   /MODEL=ALPHA  /SUMMARY=TOTAL. 
omsend.

现在我们有两个包含两个结果的数据集。下面的语法对它们进行匹配,选择要保留的相关变量,然后创建一个名为!keepers的宏来包含它们的名称:

代码语言:javascript
复制
match files/file=item_totals/table=alpha/by Command_ 
    /keep var1 CronbachsAlphaifItemDeleted CronbachsAlpha.
select if CronbachsAlphaifItemDeleted <= CronbachsAlpha.
flip newnames=var1.
spssinc select variables macroname="!keepers"/PROPERTIES  PATTERN = "Binary_*".

现在,您可以在语法中使用变量列表,例如:

代码语言:javascript
复制
frequency !keepers .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48896674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档