我是否正确,为了向现有SAS数据集添加新列,我在proc sql中使用Alter Table语句(以及用于填充新列,Update语句)?如果是这样,proc iml中的等价语句是什么(或者甚至可以用IML完成)?
答案 0 :(得分:0)
这听起来像是在询问水平连接。如果两个矩阵具有相同的行数,则可以使用连接运算符(||)将一个矩阵的列附加到另一个矩阵。例如,以下语句将2x1向量连接到2x3矩阵。结果是2x4矩阵:
proc iml;
x = {1 2 3,
4 5 6};
y = {7, 8};
z = x || y;
print z;
但请注意,这会分配一个新矩阵(z)并复制x和y矩阵的内容。因此,它不如从头开始创建4x2矩阵,然后使用子核心来填充列。有关详细信息,请参阅文章"Friends don't let friends concatenate results inside a loop."