2017-07-19 13 views
1

トランザクションが完了した会計年度の四半期を示す変数を作成しようとしています。したがって、これは四半期変数の開始日と終了日をカスタマイズする必要があります。四半期の日付をカスタマイズするR

dt <- data.table(
date = c("2016-09-26", "2016-10-14", "2017-01-09"), 
value = c(42, 87, 102), 
location = c("a","b","c")) 
dt$date <- as.Date(dt$date, "%m/%d/%Y") 

これを私はこのコードを使用して試してみましたが、それは「休憩中に無効な仕様」を返します...どのように私がすることができ、再コードの

dt$quarter <- cut(dt$date, 
        breaks=c(-Inf, "2016-07-26", "2016-12-31", Inf), 
        labels=c("Q3-2016","Q4-2016","Q1-2017"")) 

任意の提案ですか?

+0

たぶん、このページが参考になる[https://stackoverflow.com/questions/33877714/assigning-dates-to-fiscal-year](https://stackoverflow.com/questions/ 33877714/assigning-dates-to-year-year) –

答えて

0

いくつかの問題があります。まず、as.Dateで使用している形式が間違っています(「%m /%d /%Y」ではなく「%Y-%m-%d」)。その後、あなたが指定したブレーク。 方法について:

library(data.table) 
library(lubridate) 

dt <- data.table(
    date = c("2016-09-26", "2016-10-14", "2017-01-09"), 
    value = c(42, 87, 102), 
    location = c("a","b","c")) 
dt$date <- as.Date(dt$date, "%Y-%m-%d") 

dt$quarter <- cut(dt$date, 
        breaks=ymd(c("2010-01-01", "2016-07-26", "2016-12-31", "2020-01-01")), 
        labels=c("Q3-2016","Q4-2016","Q1-2017")) 


     date value location quarter 
1: 2016-09-26 42  a Q4-2016 
2: 2016-10-14 87  b Q4-2016 
3: 2017-01-09 102  c Q1-2017 
+1

これは役に立ちました。非常に@ed_sansありがとう! –

関連する問題