2017-11-09 20 views
0

data.tableライブラリを使用して日付を持つこの種のCSVを完全に読み取るにはどうすればよいですか?Rデータで読み取るにはどうすればいいですか?

date 
2011-12-31T12:00:00Z 
2011-12-31T13:00:00Z 
2011-12-31T14:00:00Z 
2011-12-31T15:00:00Z 
2011-12-31T16:00:00Z 
2011-12-31T17:00:00Z 
2011-12-31T18:00:00Z 
2011-12-31T19:00:00Z 

私が持っている問題は、それが日付形式を認識していないです:関数freadで

警告メッセージ:ライン2上のデータの入力を開始し、それがために少なすぎるか、あまりにも多くのアイテムを持っているので、1行目を破棄カラム名またはデータ:日付

私はそれを読むために使用します。

data<-fread(data.csv,header=T) 

、返さdata.tableは次のとおりです。

2011-12-31T12 00 00Z 
2011-12-31T13 0 00Z 
2011-12-31T14 0 00Z 
2011-12-31T15 0 00Z 
2011-12-31T16 0 00Z 
2011-12-31T17 0 00Z 
2011-12-31T18 0 00Z 

ありがとう!

答えて

0

私は解決策を発見した:あなたはdata.table(1.10.5+)の開発版にインストールを更新しようとすることができ

data<-fread("data.csv",sep=",") 
+2

'9月には、=「\ n''は – MichaelChirico

+0

より堅牢である:あなたのファイルは、他の入力なしで読み込むことで

# if this doesn't work for you, check the Installation page on GitHub install.packages('data.table', type = 'source', repos = 'http://Rdatatable.github.io/data.table') 

sep検出ロジックは、後半のビットを改善しました? – Jesus

+1

'sep = '、''はあなたのファイル(提示されているように)で動作しますが、何百万という行と何百もの列を持つ可能性のあるファイルでは、選択したsepが予期せず。 'sep = '\ n'''はそれを取り除きます。 – MichaelChirico

1

を。より堅牢であるのはなぜ

fread('date 
2011-12-31T12:00:00Z 
2011-12-31T13:00:00Z 
2011-12-31T14:00:00Z 
2011-12-31T15:00:00Z 
2011-12-31T16:00:00Z 
2011-12-31T17:00:00Z 
2011-12-31T18:00:00Z 
2011-12-31T19:00:00Z 
') 
#     date 
# 1: 2011-12-31T12:00:00Z 
# 2: 2011-12-31T13:00:00Z 
# 3: 2011-12-31T14:00:00Z 
# 4: 2011-12-31T15:00:00Z 
# 5: 2011-12-31T16:00:00Z 
# 6: 2011-12-31T17:00:00Z 
# 7: 2011-12-31T18:00:00Z 
# 8: 2011-12-31T19:00:00Z