Я использую IML/SAS в SAS Руководстве предприятия в первый раз, и хочу сделать следующее:Создания средней матрицы из четырех отдельных матриц одинакового размера в SAS/IML
- Прочитайте несколько наборов данных в IML матрицы
- Средних матрицы
- Включите полученную IML матрицу обратно в данную SAS набор
Моих наборов входных данных выглядеть следующим образом (это фиктивные данные - фактические наборы ли rger). Формат входных наборов данных также является форматом, который я хочу получить из выходных наборов данных.
data_set0: d_1 d_2 d_3
1 2 3
4 5 6
7 8 9
Я поступайте следующим образом:
proc iml;
/* set the names of the migration matrix columns */
varNames = {"d_1","d_2","d_3"};
/* 1. transform input data set into matrix
USE data_set_0;
READ all var _ALL_ into data_set0_matrix[colname=varNames];
CLOSE data_set_0;
USE data_set_1;
READ all var _ALL_ into data_set1_matrix[colname=varNames];
CLOSE data_set_1;
USE data_set_2;
READ all var _ALL_ into data_set2_matrix[colname=varNames];
CLOSE data_set_2;
USE data_set_3;
READ all var _ALL_ into data_set3_matrix[colname=varNames];
CLOSE data_set_3;
/* 2. find the average matrix */
matrix_sum = (data_set0_matrix + data_set1_matrix +
data_set2_matrix + data_set3_matrix)/4;
/* 3. turn the resulting IML matrix back into a SAS data set */
create output_data from matrix_sum[colname=varNames];
append from matrix_sum;
close output_data;
quit;
Я пытался кучу вещей, но ничего не похоже на работу для меня. Ошибка, которую я сейчас читаю:
ERROR: Matrix matrix_sum has not been set to a value
Что я делаю неправильно? Спасибо за помощь.
Это не удобный ответ прямо сейчас. Если вы хотите, чтобы это было полезно, расскажите о отдельной проблеме (не обязательно подробно, но о проблеме), поэтому кто-то другой с той же проблемой может увидеть, как определить проблему. – Joe
Я только что отредактировал свой ответ. Не знаю, что еще я могу сказать. В приведенном выше коде решается проблема создания средней матрицы из четырех отдельных матриц одинакового размера в SAS/IML. – MRR
Если это все, что вы можете сказать, я бы закрыл/удалил вопрос; это никому не помогает. Если вы хотите показать, как найти среднюю матрицу, задайте новый вопрос (или измените свой вопрос), чтобы спросить об этом, а затем опубликовать вышеуказанный код в качестве ответа. – Joe