2016-11-26 2 views
-1

У меня есть следующий фрагмент, который читается в наборе данных с примерно 900 000 строк. Столбец «Даты» входит в качестве фактора, и я хочу извлечь час, чтобы я мог заполнить его и сделать штрих-код количества строк в час.R Уровни неправильны для большего набора данных

Я запутался прямо сейчас, потому что, когда я проверяю «d» фрейм данных, который является небольшим подмножеством, он имеет правильные уровни для «Часа» (то есть 0,1,2,3,4 и т. Д.), Но 'df' dataframe читает "Factor w/1 level '0'". Так как это тот же самый точный код, может кто-нибудь объяснить мне, что здесь не так?

Гистограмма отлично отображается для фрейма данных 'd', но dataframe 'df' просто возвращает один балл (как ожидается, исходя из проблемы выше).

Спасибо!

df <- read.csv('train.csv') 
d <- df[1:1000,] 
d <- droplevels(d) 
df <- droplevels(df) 
d$Hour <- as.factor(hour(as.POSIXct(as.character(d$Dates)))) 
df$Hour <- as.factor(hour(as.POSIXct(as.character(df$Dates)))) 
+0

Возможно, это может быть разрешено 'read.csv ('train.csv', stringsAsFactors = FALSE)'. – vincentmajor

+0

К сожалению, это не сработало. Тот же результат :( –

ответ

0

Не знаю, почему это было downvoted, но после того, как копаться совсем немного, там был один конкретный ряд, который содержал вопрос с датой вступления в. В то время как формат выглядел точно так же, бег as.POSIXlt/а .POSIXct всегда возвращал дату и время с отложенным временем, что приводило к сбросу уровней. Я должен был конкретно определить аргумент часового пояса, который в конечном итоге устранил проблему.

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