我正在进行一项探索性分析,看看是否有任何变量与某人从一种治疗方法“转换”到另一种治疗方法相关。我正在运行费舍尔精确测试(因为样本量较小)来测试关联性,然后再返回我的团队并提供有关如何进行分析的任何建议。
我遇到的问题是,有 22 个变量需要与“switch”变量进行比较,虽然我可以对每个组合进行硬编码,但如果我可以使用数组或 do 循环来编码这些变量,则会更加简洁和干净只需几行即可完成 22 个测试。
我能够成功创建一个包含我需要的变量的数组。
任何建议将不胜感激!我曾尝试编写以下代码
proc freq data=dataset;
tables switch_var*comp_vars(22)/fisher;
run;
当我这样做时,它返回并出现以下错误: “错误 22-322:语法错误,需要以下其中一项:名称、ALL、CHARACTER、CHAR、NUMERIC。 错误 200-322:该符号无法识别,将被忽略。”
数组仅在数据步骤和部分过程中有效(但在 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;