在 SAS proc freq 中使用数组?

问题描述 投票:0回答:1

我正在进行一项探索性分析,看看是否有任何变量与某人从一种治疗方法“转换”到另一种治疗方法相关。我正在运行费舍尔精确测试(因为样本量较小)来测试关联性,然后再返回我的团队并提供有关如何进行分析的任何建议。

我遇到的问题是,有 22 个变量需要与“switch”变量进行比较,虽然我可以对每个组合进行硬编码,但如果我可以使用数组或 do 循环来编码这些变量,则会更加简洁和干净只需几行即可完成 22 个测试。

我能够成功创建一个包含我需要的变量的数组。

任何建议将不胜感激!我曾尝试编写以下代码

proc freq data=dataset;
tables switch_var*comp_vars(22)/fisher;
run;

当我这样做时,它返回并出现以下错误: “错误 22-322:语法错误,需要以下其中一项:名称、ALLCHARACTERCHARNUMERIC。 错误 200-322:该符号无法识别,将被忽略。”

arrays sas associations frequency do-loops
1个回答
0
投票

数组仅在数据步骤和部分过程中有效(但在 PROC FREQ 中无效)。

如果您有命名约定或者变量并排放置,那么快捷列表在这里很可能更合适。

示例:

proc freq data=dataset;
tables switch_var*(comp_vars1-comp_vars22)/fisher;
tables switch_var*(comp_vars:)/fisher;
tables switch_var*(measurement1--end_variable22)/fisher;
run;
© www.soinside.com 2019 - 2024. All rights reserved.