我是SAS新手,我希望将数据线值存储在数组中 我希望将10 20 30存储在一个数组中
enter code here
data array;
input num 2.;
array arr[3] a1-a3;
datalines;
10
20
30
;
run;
proc print data=array;
预期值是a1 = 10; a2 = 20; a3 = 30;
答案 0 :(得分:1)
目前尚不清楚您要做什么。
有可能:
data array;
array arr{*} a1-a3;
do i=1 to 3;
arr{i}=10*i;
end;
output;
drop i;
run;
proc print data=array;
run;
请注意,您无法在数据步骤之后打印数组的值,因此,如果要打印值,它们必须位于 dataset array
中,或者位于列或一行。在这里,数组映射到变量 a1,a2,a3,然后使用循环对其进行设置(cards
语句也可以,但是为什么要使用数组?),因此结束数据集中只有一行。
答案 1 :(得分:1)
数组不是SAS中的对象。您可以创建数据集,也可以创建宏变量。我怀疑您是SAS的新手,所以建议您暂时不要使用宏,而应该现在就使用数据步骤和SQL。
您可以使用值创建数据集,并在以后使用它们。如果您解释以后要使用它们的方式,我们可能会建议适当的数据结构。
如果您确实想要数组和矩阵,则需要使用PROC IML来具有与Base SAS完全不同且与R / Python更相似的功能。
data array;
infile cards missover;
input a b c 2.;
datalines;
10 20 30
;
run;