2016-11-26 10 views
-1

私は約900,000行のデータセットを読み込む次のスニペットを持っています。 Dates列が要素となり、時間を抽出して集計し、1時間あたりの行数の棒グラフを作成します。大規模なデータセットでRレベルが正しくない

私は小さなサブセットである 'd'データフレームを調べると 'Hour'(すなわち0,1,2,3,4など)の正しいレベルを持っているので、今混乱しています。 'df'データフレームは、「ファクタw/1レベル '0'」を読み込みます。これは同じコードなので、誰かが私にここで何が間違っているのか説明することができますか?

バーグラフは 'd'データフレームで完全に正常に表示されますが、 'df'データフレームは1つのバーを返します(上記の問題に基づいて予測されます)。

ありがとうございました!

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を実行している、。入ってくると問題が含まれる1つの特定の行がありました.POSIXctを指定すると常に時間が返されてdatetimeが返され、結果としてレベルがスローされました。タイムゾーンの引数を明確に定義しなければならなかったため、問題が修正されました。