0

これはおそらく非常に基本的な質問です。私は Google トレンド ファイルをダウンロードしました。各行の日付範囲は、2004 年 1 月 4 日から 2004 年 1 月 10 日までのような週形式になっています。これは基本的に日曜から土曜までです

週が上記の形式と等しい疑似コード (2004-01-04 - 2004-01-10)

googledata <- googledata %>%
  mutate(startdate = ymd(substr(Week, 1, 10)),
     enddate = ymd(substr(Week, 14, 26)),
     weekno = isoweek(startdate),
     weekno2 = isoweek(enddate))

サンプルデータ

Week                    Vol
2004-01-04 - 2004-01-10 15
2004-01-11 - 2004-01-17 12
2004-01-18 - 2004-01-24 10
2004-01-25 - 2004-01-31 10
2004-02-01 - 2004-02-07 9
2004-02-08 - 2004-02-14 9

2つの質問があります

これは、ISO などの特定の週タイプですか。lubridateRでまたは他の関数を使用isoweekしてweek週番号に変換することは可能ですか?

一致させたい 2 番目のデータ セットがありますが、別の週番号タイプを使用しているため、両方を Google タイプに変換したいと考えています。

ご協力ありがとうございました

4

1 に答える 1

0

これはここで扱われます

日付をPOSIXltオブジェクトに変換してからstrftime、週の%W引数を指定して適用する必要があります。あなたのサンプルでは、​​各週の最初の日付と最後の日付に対応する 2 つの異なる変数を作成します。操作しやすいかもしれません。

    Initial      Final
1 04/01/2004 10/01/2004
2 11/01/2004 17/01/2004
3 18/01/2004 24/01/2004
4 25/01/2004 31/01/2004
5 01/02/2004 07/02/2004
6 08/02/2004 14/02/2004

別の方法として、週数を含む変数を作成することもできます ( example$n_week = rep(1:6))

于 2016-06-23T14:14:00.423 に答える