Я хочу объединить две таблицы
Таблица 1 - Набор данных по бейсболу
DATA baseball;
SET sashelp.baseball
(KEEP = crhits);
RUN;
Таблица 2 - Таблица, содержащая процентили CRhits
PROC STDIZE
DATA = baseball
OUT=_NULL_
PCTLMTD=ORD_STAT
PCTLDEF=5
OUTSTAT=STDLONGPCTLS
(WHERE = (SUBSTR(_TYPE_,1,1) = "P"))
pctlpts = 1 TO 99 BY 1;
RUN;
Я хотел бы объединить эти таблицы, чтобы создать таблицу, содержащую значения для crhits, а затем столбец, указывающий, какому процентилю принадлежит это значение, как показано ниже
crhits percentile percentile_value
54 p3 54
66 p5 66
825 p63 825
1134 p76 1133
В последнем столбце указано значение процентиля, заданное stdlongpctls
В настоящее время я использую следующий код для вычисления процентилей и цикл для подсчета количества «событий» на процентиль на коэффициент
Я пробовал перекрестное соединение, но у меня возникают проблемы с визуализацией того, как объединить эти две таблицы без явного ключа
PROC SQL;
CREATE TABLE cross_join_table AS
SELECT
a.crhits
, b._TYPE_
, CASE WHEN
a.crhits < b.type THEN b._TYPE_ END AS percentile
FROM
baseball a
CROSS JOIN
stdlongpctls b;
QUIT;
Если есть другой более простой / более эффективный способ узнать количество наблюдений и количество зависимых переменных (например, я моделирую событие флага по умолчанию в моем фактическом наборе данных, поэтому я буду признателен за сумму 1 на группу процентилей). она)