Я хочу объединить два стола вместе
Таблица 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 процентильной группы, я был бы признателен)