самообучающийся пользователь SAS здесь.SAS переименование переменных во время ввода
Я часто работаю с наборами данных, которые у меня мало контролируются и разделяются между несколькими разными пользователями.
Я обычно читал в файлах как CSVs, используя инструкцию infile +, определяющую переменные с блоками информации, формата и ввода. Во время этого процесса я могу продолжить и переименовать переменные - при условии, что все переименовано в правильном порядке - или они должны соответствовать исходному набору данных и быть переименованы на более позднем этапе данных?
Например, имя переменной в наборе данных «100% полностью оплачено». Я знаю, что переменные SAS не могут начинаться с цифр, и я хотел бы также упростить имена переменных в общем, так я мог сделать что-то вроде следующего:
infile statement...
informat Paid $3.;
format Paid $3.;
input Paid $;
run;
Или, может быть, я буду об этом очень нерационально. Я пробовал делать простой импорт proc без этого всего бизнеса informat/format/input, но я обнаружил, что попытка переопределить типы переменных впоследствии вызывает больше головной боли для меня (на всех наборах данных, с которыми я работаю, есть комбинации текста, долларов, проценты, общие числа, даты ...). В любом случае, другие советы получили высокую оценку - спасибо!
EDIT
Может быть, вопрос, который я должен спросить это: существует ли какой-либо способ сохранить формат CSV для долларов и проценты (за счет импорта Proc, который, кажется, чтобы преобразовать их в символы)? Я знаю, что я могу вручную изменить форматы от долларов/процентов до «общего» в Excel до импорта файла, но я бы предпочел избегать дополнительных ручных шагов, а также потому, что я действительно хочу сохранить их в виде долларов и процентов. Или мне просто лучше делать informat/format/input для указания типов данных для csv, так что переменные читаются точно, как я хочу, чтобы их читали?
Примечание: Мне не удалось обработать импорт файлов xls или xlsx либо из-за того, что я на 64-разрядном компьютере, либо у меня отсутствуют необходимые драйверы (или оба). Я никогда не мог это сделать даже на 32-битном компьютере.
Спасибо за ответ так быстро, Том. Я не уверен, что полностью понимаю, но я собираюсь изменить свой первоначальный вопрос. – jh1021
Я думаю, что ответ Тома по-прежнему применяется. Возможно, если бы вы могли привести пример CSV (как текст в окне программы, а не изображение), достаточно всего нескольких записей, и кто-то может показать вам точный код, который вам нужен, чтобы прочитать пример, и вы можете экстраполировать его на свои CSV. –
Нет, нет более быстрого способа, который бы дал вам такую же точность. Ручное управление лучше. Одна вещь, которую вы можете сделать, если вы часто это делаете, - создать формат файла спецификации, который вы можете создать, в Excel или CSV, который определяет форматы/информацию, типы, длины, имена, а затем создает макрос для использования спецификации файл для импорта ваших данных. – Reeza