Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.02.2016, 15:35
|
|||
---|---|---|---|
|
|||
SAS если нет такого значения, записать его в переменную |
|||
#18+
Есть вот такой код: proc freq data=Status noprint; table ethnic /nocum out=EthnicFreq; run; data EthnicFreq; set EthnicFreq; format percent 4.1; name = " " || put(Ethnic, EthnicF.); col1 = put(count, 2.)||" "||' ('|| put(percent, 4.1)||'%)'; drop count percent Ethnic; run; ethnic может принимать 5 значений (от 1 до 5). Если в переменной "ethnic" датасета "Status" каждое значение встречается хотя бы один раз, то всё работает как надо. Если какого-то значения нет (к примеру, 1) в датасет должен всё-равно быть записано 1, просто второй столбец забивается нулями. Можете подсказать как это лучше организовать? Второй час мучаюсь, гугл ничего толкового тоже не выдал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2016, 16:48
|
|||
---|---|---|---|
|
|||
SAS если нет такого значения, записать его в переменную |
|||
#18+
Сделала через добавление новой таблицы (с нулями) и слиянием этих двух. Есть подозрение что можно более красивым методом. Очень буду благодарна за подсказку proc freq data=Status noprint; table ethnic /nocum out=EthnicFreq; run; data EthnicFreq1; do Ethnic = 1 to 5; count = 0; percent = 0; output; end; run; data EthnicFreq; merge EthnicFreq1 EthnicFreq; by Ethnic; run; data EthnicFreq; set EthnicFreq; col1 = put(count, 2.)||' ('|| put(percent, 4.1) || '%' || ')'; name = " " || put(Ethnic, EthnicF.); drop count percent; run; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=56&mobile=1&tid=2015118]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 241ms |
0 / 0 |