2017-02-23 14 views
0

私は自分のデータセットで時間変数を再コードしようとしています。現在、私のデータセットは12月のすべてのデータを反映しており、week1、week2、week3、およびweek4を含む変数があるように日付を再コード化したいと考えています。再符号化の日付

私の日付が

december$DATE <- as.Date(december$DATE, "%m/%d/%Y") 

としてフォーマットされてこれが再コーディングで私の現在の試みですが、無駄に:

december$week <- cut (december$DATE, 
         breaks = c(-Inf, 12/08/2016, 12/15/2016, 12/22/2016, Inf), 
         labels=c("W1", "W2", "W3", "W4")) 

カテゴリに連続再コーディングの伝統的な方法は、中には適用されませんこの場合。助言がありますか?

+3

あなたの質問には[再現可能な例](http://stackoverflow.com/q/5963269/4303162)は含まれていません。したがって、あなたの問題を理解し、あなたに適切な答えを与えるのは難しいです。あなたのデータを(例えば、 'dput()'を使って)利用可能にするか、Rのサンプルデータセットの1つを使用してください。また、問題を再現するのに必要な最小限のコードを投稿に追加してください。 – Stibu

+1

あなたの休憩が日付形式であることを確認してください。 'as.Date(" 2016-12-08 ")' –

答えて

0

ISOWeekパッケージでは、DateオブジェクトをISO 8601週間に変換できます。例えば、

ISOweek::ISOweek('2016-12-08') 

利回り

[1] "2015-W53" 
0

これはあまりにもそれを行うことができます:

december$week <- cut (december$DATE, 
       breaks = as.Date(c("2016-12-01", "2016-12-08", "2016-12-15", "2016-12-22", "2016-12-31")), 
       labels=c("W1", "W2", "W3", "W4")) 
0

をあなたは、日付などに基づいて、週番号の列を追加することを検討可能性があり

require(plyr) 
december$week <- format(december$date, format="%U") 

使用?strptime%U日曜日に始まる年(00から53)の週を与えることを確認します。 %Vは月曜日に開始します

関連する問題