конкатенация массива в SAS с использованием цикла do - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть такой набор данных SAS:

 var1  var2 var3  var4  var5
there    is   no spoon   Neo

И я хочу это:

var
thereisnospoonNeo

У меня есть шаг данных, подобный следующему:

data want;
  set have;
  format var $100.;
  array v $ 5 var1-var5;
  var = "";
  do i=1 to 5;
    var = var || v{i};
  end;
run;

Но у моего have есть var = "";

1 Ответ

0 голосов
/ 06 февраля 2020

Проблема в том, что начальное значение var на самом деле составляет 100 символов пробела, и любая конкатенация усекается из списка. Для достижения желаемого результата необходимо добавить

 var = strip(var) || v{i};

.

...