【发布时间】:2016-12-20 16:16:30
【问题描述】:
假设我有 10 个变量,都具有相同的前缀(它们以 com 开头)。
假设变量是二进制的,并且有一些缺失的数据,我想将所有缺失的数据设置为 0。我想为每个原始变量生成一个新变量,以便原始数据完好无损.
如何一次重新编码所有这些变量?有没有一种简单的方法可以在 SAS 中运行循环?如果这是 Python 或 R,我可以使用 grep 或类似的东西编写一个循环来完成这一切。
编辑:这就是我想要做的。我想使用带有com 变量的未索引数组来创建它们的副本,称为new_com(为每个变量添加前缀new)。然后我只想重新编码,我知道我可以使用 if then 语句来完成。第一部分,关于克隆变量,是我卡住的地方。
【问题讨论】:
-
您可以使用 if 语句定义每个新变量,例如 if com1 = 。那么 com1_nm =0;否则 com1_nm = com1;或者因为这将是相当重复的,您可以使用 do 循环和数组来节省您编写这么多代码的时间。 support.sas.com/resources/papers/proceedings10/158-2010.pdf
-
谢谢,这很有帮助,但有两个问题:我需要使用前缀重命名变量,而且我不想在数组中单独列出每个变量,而是使用一些通配符。关于如何做到这一点的任何见解?