Преобразование R-скрипта в SAS - PullRequest
0 голосов
/ 02 октября 2018

Я хочу добавить шум к набору данных.Это довольно простая процедура в R. Я выбираю из распределения Лапласа и затем добавляю / умножаю / любой другой вектор к вектору, к которому я хочу добавить шум.

Проблема в том, что мой коллега запрашивает код в SAS.Я не пользуюсь SAS с аспирантуры, и мой проект приостановлен до тех пор, пока я не смогу ускорить работу моего коллеги в SAS.

Мой код довольно прост:

library ("rmutil")

vector <- c (1,2,3,1,2,3,1,2,3)

vector_prop <- vector/sum(vector)

noise <- rlaplace(9, m=1, s=.1)

new_vector <- vector_prop * noise

Я поворачиваю свой вектор, в который хочу добавить шум, пропорционально, а затем рисую из распределения Лапласа.Наконец, я умножаю эти розыгрыши на мой вектор пропорций.

Любая идея была бы полезной, поскольку документация SAS была трудной для понимания.Я предполагаю, что они чувствуют то же самое с документацией R.

1 Ответ

0 голосов
/ 02 октября 2018

Предполагая, что ваши данные находятся в наборе данных с именем have с переменной, именуемой vector_prop, следующий код, скорее всего, верен.Из-за природы случайных чисел и потоков вы не можете повторить это, разве вы не получаете каждый раз разные данные?

data want;
set have;
call streaminit(24); *fixes random number stream for reproduciblilty;
new_var = vectorProp * rand('laplace', 1, 0.1);
run;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...