将 Stata 循环转换为 SPSS
Translation of a Stata loop into SPSS
谁能帮忙翻译一下下面的 Stata 代码?我需要此代码以便在 SPSS 中进一步分析。
gen quintile=.
forvalues i=1/2 {
xtile quintile`i'= income if income_num==`i', nq(5)
replace quintile=quintile`i' if income_num==`i'
drop quintile`i'
}
我尝试使用以下 SPSS 代码解决问题:
COMPUTE quintile=($sysmis).
LOOP if #i = 1 to 2.
DO IF (income_num= #i).
FREQUENCIES income
/ntiles (5) into quintile#i.
DROP = quintile #i.
END LOOP.
EXECUTE.
但是这段代码似乎是错误的。整个 SPSS 语法有错误。首先,我想知道这种特殊情况下SPSS Loop的逻辑结构。其次,请问如何将这段特殊代码与"Frequencies"命令和"Drop"命令结合起来。
你知道如何解决这个问题吗?
以下是发生的错误列表。
FREQUENCIES: LOOP 对此命令没有影响。
FREQUENCIES:转换程序包含未闭合的 LOOP、DO IF 或复杂的文件结构。使用 SPSS Statistics 命令左侧显示的控制级别来确定 LOOP 和 DO IF 的范围。
DROP: LOOP 对此命令没有影响。
DROP:行中的第一个词未被识别为 SPSS Statistics 命令。
END LOOP:END LOOP 命令不跟在未闭合的 LOOP 命令之后。可能由于错误而无法识别 LOOP 命令。使用 SPSS Statistics 命令左侧显示的控制级别来确定 LOOP 和 DO IF 的范围。
您可能需要花一些时间来熟悉 SPSS 代码。 (你不能只是编造东西并期望它们起作用!)在频率的 NTILES
子命令上没有选项 into
。 FREQUENCIES
只是输出表格,它不会以任何方式转换数据。
请参阅命令 RANK
了解您想要的内容,例如:
RANK VARIABLES = income BY income_num /NTILES(5) INTO quantile.
无需循环。
谁能帮忙翻译一下下面的 Stata 代码?我需要此代码以便在 SPSS 中进一步分析。
gen quintile=.
forvalues i=1/2 {
xtile quintile`i'= income if income_num==`i', nq(5)
replace quintile=quintile`i' if income_num==`i'
drop quintile`i'
}
我尝试使用以下 SPSS 代码解决问题:
COMPUTE quintile=($sysmis).
LOOP if #i = 1 to 2.
DO IF (income_num= #i).
FREQUENCIES income
/ntiles (5) into quintile#i.
DROP = quintile #i.
END LOOP.
EXECUTE.
但是这段代码似乎是错误的。整个 SPSS 语法有错误。首先,我想知道这种特殊情况下SPSS Loop的逻辑结构。其次,请问如何将这段特殊代码与"Frequencies"命令和"Drop"命令结合起来。
你知道如何解决这个问题吗?
以下是发生的错误列表。
FREQUENCIES: LOOP 对此命令没有影响。
FREQUENCIES:转换程序包含未闭合的 LOOP、DO IF 或复杂的文件结构。使用 SPSS Statistics 命令左侧显示的控制级别来确定 LOOP 和 DO IF 的范围。
DROP: LOOP 对此命令没有影响。 DROP:行中的第一个词未被识别为 SPSS Statistics 命令。
END LOOP:END LOOP 命令不跟在未闭合的 LOOP 命令之后。可能由于错误而无法识别 LOOP 命令。使用 SPSS Statistics 命令左侧显示的控制级别来确定 LOOP 和 DO IF 的范围。
您可能需要花一些时间来熟悉 SPSS 代码。 (你不能只是编造东西并期望它们起作用!)在频率的 NTILES
子命令上没有选项 into
。 FREQUENCIES
只是输出表格,它不会以任何方式转换数据。
请参阅命令 RANK
了解您想要的内容,例如:
RANK VARIABLES = income BY income_num /NTILES(5) INTO quantile.
无需循环。