2017-02-18 14 views
-2

У меня есть набор данных с информацией об общих байках для 2011 и 2012 годов. Переменная даты является фактором и отображается следующим образом: 2011-01-31 (YYYY- ММ-ДД). Мне нужно разделить данные, установленные таким образом, что содержит все данные 2011 и только в первую половину 2012 годаПри преобразовании фактора в дату я получаю NA как значения

Чтобы сделать это, я хочу, чтобы преобразовать переменные даты от фактора на сегодняшний день с помощью этой команды:

hw3 = read.csv("bikeshare.csv") 
hw3$date = as.Date(hw3$date, format = "%m/%d/%Y") 

Когда я проверяю класс с:

class(hw3$date) 

Я могу видеть, что фактор был преобразован в дату, однако все мои ценности были изменены в НС не даты. Что я делаю неправильно?

Спасибо!

+1

Согласно информации, предоставленной в вашем вопросе, вы использовали неправильный формат. Воспроизводимый пример был бы интересным. –

+1

Просто сделайте 'as.Date (hw3 $ date)'. Вы переходите от правильного формата к неправильному. Кроме того, пожалуйста, прочитайте '? Strptime', чтобы получить представление о том, как форматы работают в R. –

ответ

-1

Вы должны изменить порядок года, месяца и даты, "%Y-%m-%d" так же, как он появляется в ваших данных, и разделить их с - вместо /

sapply(hw3, class) 
    ride  date 
"factor" "factor" 


    hw3 
     ride  date 
    1 1 2011-01-31 
    2 2 2011-02-01 
    3 3 2011-02-02 

hw3$date <- as.Date(hw3$date, format = "%Y-%m-%d") 
sapply(hw3, class) 
    ride  date 
"factor" "Date" 
+0

Почему downvote? –