Вы можете использовать PROC COMPARE в SAS, чтобы быстро определить сходства и различия между двумя наборами данных.
В этой процедуре используется следующий базовый синтаксис:
proc compare
base =data1
compare =data2;
run ;
В следующем примере показано, как использовать эту процедуру на практике.
Пример: использование Proc Compare в SAS
Предположим, у нас есть следующие два набора данных в SAS:
/\*create datasets\*/
data data1;
input team $ points rebounds;
datalines ;
A 25 10
B 18 4
C 18 7
D 24 12
E 27 11
;
run ;
data data2;
input team $ points;
datalines ;
A 25
B 18
F 27
G 21
H 20
;
run ;
/\*view datasets\*/
proc print data =data1;
proc print data =data2;

Мы можем использовать следующий оператор PROC COMPARE , чтобы найти сходства и различия между двумя наборами данных:
/\*compare the two datasets\*/
proc compare
base =data1
compare =data2;
run ;
Это создаст три таблицы на выходе:
Таблица 1: Сводка обеих таблиц

Первая таблица показывает краткую сводку каждого набора данных, в том числе:
1. Количество переменных (NVar) и наблюдений (NObs) в каждом наборе данных.
- Data1 имеет 3 переменные и 5 наблюдений
- Data2 имеет 2 переменные и 5 наблюдений
2. Количество переменных, общих между двумя наборами данных.
- Data1 и Data2 имеют 2 общие переменные (команда и очки)
Таблица 2: Сводка количества различий в значениях

Вторая таблица суммирует количество различий в значениях между двумя таблицами.
Самая интересная часть этого вывода находится в конце таблицы, где мы можем увидеть сводку различий между переменными:
- Переменная team имеет 3 наблюдения с разными значениями.
- Переменные точек имеют 3 наблюдения с разными значениями. Максимальная разница 9.
Таблица 3: Фактические различия между наблюдениями

В третьей таблице показаны фактические различия между наблюдениями в двух наборах данных.
В первой таблице показаны различия в переменной команды между двумя наборами данных.
- Например, в data1 третье наблюдение имеет значение C for team, а в data2 третье наблюдение имеет значение F.
Во второй таблице показаны различия в переменных точек между двумя наборами данных.
- Например, в data1 третье наблюдение имеет значение 18 для точек, а в data2 третье наблюдение имеет значение 27.Разница между двумя значениями составляет 9 .
Эти три таблицы дают нам полное представление о различиях между двумя наборами данных.
Обратите внимание, что если вы хотите сравнить различия между двумя наборами данных только для одной конкретной переменной, вы можете использовать следующий синтаксис:
/\*compare the differences between the datasets only for 'points' variable\*/
proc compare
base =data1
compare =data2;
var points;
run ;
Это создаст те же три таблицы, что и раньше, но будут показаны только выходные данные для переменной points .
Примечание : Вы можете найти полную документацию по PROC COMPARE здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как использовать Proc Rank в SAS