Sas 数组中的数据集值

Sas 数组中的数据集值,sas,Sas,我是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 还不完全清楚你想做什么 这是一种可能性: data array; array arr{*} a1-a3; do i=1 to 3;

我是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

还不完全清楚你想做什么

这是一种可能性:

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;
请注意,您不能在datastep之后打印数组的值,因此如果要打印值,它们必须位于dataset数组中的列或行中。在这里,数组映射到变量a1、a2、a3,然后用cards语句也可以使用的循环设置这些变量,但是为什么要使用数组呢?因此,数据集中只有一行


建议阅读:.

数组不是SAS中的对象。可以创建数据集,也可以创建宏变量。我怀疑您是SAS的新手,所以我建议您暂时不要使用宏,而是使用数据步骤和SQL

您可以使用这些值创建一个数据集,稍后再使用它们。如果您稍后解释如何使用它们,我们可能会建议适当的数据结构

如果您确实想要数组和矩阵,那么您需要使用PROC IML来实现与基本SAS非常不同、更类似于R/Python的功能

data array;
infile cards missover;
input a b c 2.;
datalines;
10 20 30
;
run;

阵列不是SAS中的对象,它们不存在于数据步骤之外,因此不确定您是否能在此处获得所需的内容。