【发布时间】:2016-12-16 17:07:52
【问题描述】:
假设我有一堆以相同方式命名的变量,我想重新编码它们并为每个变量添加一个前缀(变量都是数字)。
在 Stata 中,我会做类似的事情(假设变量以 eq 开头)
foreach var of varlist eq* {
recode var (1/4=1) (else=0), pre(r_)
}
如何在 SAS 中执行此操作?我想使用 %DO 宏,但我不熟悉它们(我想避免使用 SQL)。如果您能包括解释每个步骤的 cmets,我将不胜感激!
【问题讨论】:
-
你能用变量名显示前后数据吗?你在改变变量名吗?还是制作新的变量?你在改变变量值吗?如果有怎么办?例如 (1/4=1) 是什么意思?它看起来像是一个明显错误的布尔表达式。
-
我想创建新变量,使用原始变量名称但带有前缀 (r_)。表达式 (1/4=1) 表示值 {1,2,3,4} 应重新编码为 1。变量是标量 [1,2,3,4,5],我想重新编码 4和 5 到 1 和 1,2,3 到 0。
-
为什么要重新编码变量?为什么不给变量附加一个格式?
-
我不知道这意味着什么,但我想计算它们的平均值,而且我通常更简单地生成重新编码的变量(这就是我在 R、Stata 和 SPSS 中所做的) .