0

我正在尝试读取具有 4030 个观察值和 23 个变量的数据集。我在 proc fcmp 中这样做,使用 read_array (...) 语句。大多数变量都有字符类型,但是当我尝试阅读代码时:

proc fcmp;
    array a[&Numobs., &Nvar.] / NOSYMBOLS ;
    rcl = read_array ("input", a);

    res = write_array ('output', a);
quit;

我得到每个字符变量的错误:

错误:数据集“WORK.input”中的列“Variable2”在函数 READ_ARRAY 中不是数字。

read_array 是否仅适用于数字变量?我究竟做错了什么?(我的其余代码很简单,我确信它是正确的)。

我正在使用 SAS Enterprise Guide 4.3。

4

2 回答 2

1

在 SAS 中,数组中的所有变量必须具有相同的数据类型。您的 Variable1 可能是数字,Variable2 是字符。

于 2016-04-20T11:39:32.607 回答
1

Read_array 和 write_array 只是数字。默认情况下,您正在阅读所有列,但您可以使用带引号的字符串指定您感兴趣的列。

于 2017-11-27T20:14:26.793 回答