gpt4 book ai didi

spss - 使用 SPSS Syntax 提取满足特定条件的变量列表并将其存储在新变量中

转载 作者:行者123 更新时间:2023-12-05 00:38:16 29 4
gpt4 key购买 nike

我有大约 300 个变量,我正在计算它们的偏度和峰度。现在,我想创建一个新的变量,它将包含所有那些偏度和峰度在一定范围内的变量的列表。这个想法是只选择那些满足条件的变量并对所有其他变量执行归一化。

计算我正在使用的偏斜度;

Descriptives A TO Z
/Statistics Skewness.
Execute.

我知道这不是一个有效的语法,但我需要这样的东西:

Compute x= if(Skewness(A TO Z)>1)

请帮我解决这个问题的 SPSS 语法。

最佳答案

有多种方法可以解决这个问题,因此可能有一种更简单的方法。

您只需将“var1 TO varN”更改为您的变量列表以及您希望在创建标志的两条 COMPUTE 行上的偏度和峰度标准,这将为您完成。

如果我这样做,我会更进一步,使用 WRITE OUT = ".sps"/CMD 将规范化构建到语法中。 INSERT FILE = ".sps",但这不是您要求的。

DATASET DECLARE DistributionSyntax.
OMS
/SELECT TABLES
/IF SUBTYPES=["Descriptives"] INSTANCES=[1]
/DESTINATION FORMAT=SAV OUTFILE = 'DistributionSyntax'.
EXAMINE VARIABLES=var1 TO varN
/PLOT NONE
/STATISTICS DESCRIPTIVES
/CINTERVAL 95
/MISSING PAIRWISE
/NOTOTAL.
OMSEND.
DATASET ACTIVATE DistributionSyntax.

USE ALL.
FILTER OFF.
SELECT IF ANY(Var2,'Skewness','Kurtosis').
EXECUTE.
STRING VarName (A64).
COMPUTE SkewnessFlag = (Var2 = 'Skewness' AND ABS(Statistic) > 2).
COMPUTE KurtosisFlag = (Var2 = 'Kurtosis' AND ABS(Statistic) > 2).
COMPUTE VarName = CHAR.SUBSTR(Var1,1,CHAR.INDEX(Var1,' ')-1).
EXECUTE.

USE ALL.
COMPUTE filter_$=(SkewnessFlag = 1).
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FRE VarName.

USE ALL.
COMPUTE filter_$=(KurtosisFlag= 1).
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FRE VarName.

USE ALL.
FILTER OFF.
EXECUTE.

如果在计算标志后省略选择数据 block 并将其替换为该数据 block ,它将计算满足您标准的变量的规范化版本。这会计算新变量,您需要为语法文件添加一个文件位置(替换 WRITE 和 INSERT 命令中的“~/”),并将引用为“RAWDATA”的数据集名称更改为您的数据集名称是:

USE ALL.
FILTER OFF.
SELECT IF ANY(1,SkewnessFlag,KurtosisFlag).
EXECUTE.

STRING CMD (A250).
COMPUTE CMD = CONCAT("COMPUTE ",RTRIM(VarName),".Norm = ln(",RTRIM(VarName),").").
EXECUTE.

DATA LIST /CMD 1-250 (A).
BEGIN DATA
EXECUTE.
END DATA.
DATASET NAME EXE WINDOW = FRONT.

DATASET ACTIVATE DistributionSyntax.
ADD FILES /FILE = *
/FILE = 'EXE'.
EXECUTE.
DATASET CLOSE EXE.
DATASET ACTIVATE DistributionSyntax.

WRITE OUT="~\Normalize Variables.sps" /CMD.
DATASET CLOSE DistributionSyntax.
DATASET ACTIVATE RAWDATA.
INSERT FILE="~\Normalize Variables.sps".

关于spss - 使用 SPSS Syntax 提取满足特定条件的变量列表并将其存储在新变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197740/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com