循环到 select 要从分析中忽略的变量

Loop to select which variable to omit from analysis

我有包含大量变量的数据集,我需要对这些数据集进行 运行 PCA,每次删除一个变量。以下是示例数据集的 20 个变量。我想 运行 PCA 从每个 PCA 解决方案中删除一个变量。例如,第一个PCA解决方案将包括除Var_1_GroupA之外的所有变量,第二个将包括除Var_2_GroupA以外的所有变量,等等。我熟悉使用宏编写循环但不确定如何完成以下任务在 python.

中使用宏或代码
Var_1_GroupA 
Var_2_GroupA 
Var_1_GroupB 
Var_2_GroupB 
Var_3_GroupB 
Var_1_GroupC 
Var_2_GroupC 
Var_3_GroupC 
Var_4_GroupC 
Var_5_GroupC 
Var_1_GroupD 
Var_1_GroupE 
new_Var_1_GroupA 
new_Var_1_GroupB 
new_Var_1_GroupC 
new_Var_2_GroupC 
Var_1_GroupF 
Var_1_GroupG 
Var_1_GroupH 
Var_2_GroupH 

在下面的示例中,我创建了 10 个变量,然后 运行 一个简单的 means 命令,每次使用一组不同的变量 - 一次排除一个变量。您可以编辑代码以匹配您的变量和分析代码。

data list list/var1 to var10 (10F1).
begin data
    1 2 3 4 5 6 7 8 9 9
    5 4 3 6 3 8 1 2 5 8
    0 8 6 4 2 1 3 5 7 9
end data.
dataset name wrk.

define !loopit (!pos=!cmdend)
!do !a !in(!1)
    means 
    !do !b !in(!1) !if (!b<>!a) !then !b !ifend !doend 
    .
!doend
!enddefine.

!loopit var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 .

请注意,您必须在宏调用中列出变量名称,不能使用 var1 to var10

如果您 运行 在根据您的具体需要调整它时遇到麻烦,这些对调试宏非常有帮助:

set mexpand=on.
set mprint=on.