2015-02-19 3 views
0

У меня есть набор данных о членстве, и я хочу сохранить только тех, кто постоянно учился на весь год. Для каждого человека имеется 12 переменных, по одному на каждый месяц года, сколько дней в течение этого месяца они были зарегистрированы. Есть ли способ сделать подмножество данных только для значений со значением> 1 для каждой из переменных месяца?SAS - Сохранение только наблюдений со всеми переменными

Спасибо!

+0

Показать код, который вы уже пробовали, вы, скорее всего, получите ответ - SO не является услугой кода по требованию. –

+0

Я буду немного более конкретным, чем Крис, так как я думаю, что концепция совершенно прекрасна, о чем нужно спросить, поскольку это несложная концепция, которая не требует ровно строк и строк кода, но спрашивает о самой концепции (например «Как сделать шрифт синим» в HTML, это замечательный, если уже ответил вопрос). Однако, чтобы задать хороший вопрос, включите данные примера до И после, и пример кода, который вы используете, кроме конкретной вещи, о которой вы просите, чтобы сделать как можно более ясное, что вы просите. – Joe

ответ

0

SAS имеет различные функции, которые могли бы быть тем, что вы ищете. См., В частности, min() (minimum), так как это позволит вам найти минимум нескольких переменных. Вы также можете рассмотреть nmiss() (number of missing values) и n() (number of non-missing values), если вам нужно иметь дело с отсутствующими значениями в ваших данных.

Сводка функций могут быть переданы списки переменных, как это (на этапе передачи данных):

minimum = min(var1, var2, var3); 

Однако, это может стать долго наматывается, если вам нужно использовать много переменных. К счастью, SAS предлагает несколько способов сопоставить списки переменных, чтобы сделать вещи более аккуратными. Вы можете прочитать об этом variable lists here. Для того, чтобы использовать их в сводной функции использовать of спецификатор:

minimum = min(of var1-var12); 
maximum = max(of var:); 
blanks = nmiss(of _NUMERIC_); 

Наконец, вы хотите, чтобы использовать новые найденные данные, чтобы решить, какие данные включить. Для этого на этапе данные взглянуть на output заявление (user guide):

if min(of var:) > 1 then output; 

Или, если вы чувствуете, как обучение немного больше о синтаксисе SAS в вы могли бы попробовать использовать неявный вывод, прочитав последнее звено.

В целом, вы предпочитаете задавать конкретные вопросы и показывать свою текущую работу на SO, и я бы посоветовал использовать Google для ответа на ваши основные вопросы, пока вы изучаете основы. Существует много отличной документации, которая поможет вам там.

+1

Просто, чтобы уточнить, нет запрета или даже предпочтения в отношении основных вопросов по StackOverflow; вопросы на всех уровнях поощряются, если они достаточно конкретны, чтобы быть понятными и подотчетными. – Joe

Смежные вопросы