Я не совсем знаком с логикой SAS и не знаю, какие шаги использовать для моей задачи. В основном я хочу рассчитать соотношение между количеством уникальных записей и количеством записей (уникальное отношение), чтобы определить, является ли переменная дискретной или непрерывной. Набор данных содержит 700 + переменных и 5M записей, поэтому использование proc freq, скорее всего, приведет к сбою.SAS перебирает список переменных для подсчета уникальных значений
Вот моя proprosed шаги:
- Образец 100000 из набора данных
- Рассчитайте 'уникальное соотношение' для каждого столбца в образце
Повторите шаг 1 и шаг 2 для N раз, говорят 50 раз. У нас были бы окончательные данные, например:
Var_name Sample_Number Unique_ratio
Var_1 1 0.58
.... ..... .....
Затем для каждой переменной вычислите среднее значение по всем N выборкам.
Я могу легко сделать это в python или R. Но это очень больно, чтобы перевести это в SAS. Может ли какой-нибудь эксперт SAS дать мне несколько советов?
Являются ли переменные числовыми или char или микс? – Quentin
Это смесь символов и цифр :) – user2517984
Полезная страница здесь. http://www.sascommunity.org/wiki/Cardinality_Ratio. Интересно, есть ли у вас достаточно памяти для хэш-подхода? Будут ли ваши непрерывные переменные иметь миллионы разных значений или, возможно, только тысячи? – Quentin