2015-12-08 2 views
-9

У меня есть 6 переменных в моих данных, одна - дата, остальные пять - числовые. Когда я импортировал файл, дата была в character, две числовые переменные остались numeric, а 3 других переменных, по-видимому, были изменены на character. Я хочу знать причину этого, и теперь, если я хочу изменить все их форматы, как я могу это сделать?Как изменить форматы нескольких переменных в одном наборе данных?

+4

Пожалуйста, выполните поиск на этом сайте. Здесь вы найдете все ответы, приложив немного усилий. –

+2

ваши вопросы уже находятся на SO или в google. Вы должны выполнить свою домашнюю работу :-) – MLavoie

+0

Это полностью зависит от того, как вы импортируете свои данные. Было бы хорошо, если бы вы могли предоставить более подробную информацию. но, как правило, на это будет дано ответное сообщение, как и другие. – nathaneastwood

ответ

0

Основываясь на ваш комментарий ...

kids_store2$month = format(as.Date(d, format = "%d-%m-%Y"),"%m") 

Это будет возвращать месяц как целое число.

(Если предположить, что даты в дд-мм-гггг формат («28-04-2015»).)

0

При импорте CSV-файл (я предполагаю, что это то, что вы сделали), вы должны быть осторожны с некоторыми вещами: - столбцы, содержащие числа, преобразуются в символы, если есть одна или несколько ячеек, помеченных как «#ERROR» или «# DIV/0» или любые другие строки NA, которые не были четко указаны как таковые , Иногда, с аналитическими данными, вы получаете результаты с лимитом обнаружения, такие как «< 0,02» и интерпретируется как текст. - Дата в характере довольно предсказуема и часто возникает при импорте.

В любом случае, если вам нужно принудительно установить некоторые столбцы для определенных классов при импорте CSV-файла, существует очень полезный аргумент colClasses. При использовании NA, R автоматически выбирает наилучший формат. Попробуйте что-то вроде этого:

df <- read.csv(file="input.csv", na.strings=c("", "#REF", "#DIV/0"), colClasses=c(Date, NA, NA, NA, NA, NA))