2016-05-20 2 views
1

Я пытаюсь добавить новый вектор к набору данных в SAS IMLSAS IML добавить вектор к набору данных

Я создаю эти данные:

proc iml; 
x = {1 2 3}; 
y = {1 2 3}; 
create data1 var {x y}; 
append; 
close data1; 
quit; 

И тогда я хотел бы добавить новые вектор «г» в наборе данных

proc iml; 
use data1; 
read all; 
z = x + y; 
create data1 var {x y z}; 
quit; 

Но это дает мне ошибку «оШИБКА: набор данных WORK.DATA1 находится в использовании, не может быть создан»

+1

Ваше название говорит о том, что вы пытаетесь добавить вектор в матрицу, но ваш пример указывает, что вы хотите добавить вектор в набор данных. Что он? – Rick

+0

Набор данных, обновленный заголовок. –

ответ

3

Прежде чем вы сможете создать данные набора данных, необходимо сначала закрыть данные набора данных1.

proc iml; 
use data1; 
read all var{x} into x; 
read all var{y} into y; 
close data1; 
z = x + y; 
create data1 var {x y z}; 
append; 
quit; 
+1

Немного простой синтаксис: читать все var {x y}; – Rick

+0

Спасибо, Рик, это хорошее улучшение. –

+0

слегка немного более простой синтаксис: прочитайте все; –