私は28日の間隔で、1月20日から13のデータポイントを販売しています。これは私に13のデータポイントを与える。これを毎月の売上(近似値)に変換する方法RRデータポイントを毎月13に変換する
答えて
aggregate
関数とmonths
関数を以下のように組み合わせてください。 months
関数は、指定された日付の月を返します。この場合、aggregate
関数は、各月の売上を合計します。
# Create some toy data
set.seed(1)
df <- data.frame(date = as.Date("2016-01-20") + 0:12*20,
sales = runif(13))
head(df)
# date sales
#1 2016-01-20 0.26550866
#2 2016-02-09 0.37212390
#3 2016-02-29 0.57285336
#4 2016-03-20 0.90820779
#5 2016-04-09 0.20168193
#6 2016-04-29 0.89838968
# Create the month names and numbers
df$month_num <- format(df$date, format = "%m")
df$month_lex <- months(df$date)
head(df)
# date sales month_num month_lex
#1 2016-01-20 0.26550866 01 januar
#2 2016-02-09 0.37212390 02 februar
#3 2016-02-29 0.57285336 02 februar
#4 2016-03-20 0.90820779 03 marts
#5 2016-04-09 0.20168193 04 april
#6 2016-04-29 0.89838968 04 april
# Aggregate by month number to get correct sorting
aggregate(sales ~ month_lex*month_num, sum, data = df)
# month_lex month_num sales
#1 januar 01 0.26550866
#2 februar 02 0.94497726
#3 marts 03 0.90820779
#4 april 04 1.10007162
#5 maj 05 0.94467527
#6 juni 06 1.28991184
#7 juli 07 0.06178627
#8 august 08 0.38253133
#9 september 09 0.68702285
あなたは渡さ月名を取得しないためにaggregate
呼び出しでmonth_lex*
を残すことができます。
私はデンマークのシステムにいるという事実を無視してください。より具体的な回答が必要な場合は、入力を示す最小限のデータ例を提供し、出力を期待する必要があります。
EDIT:@UweBlockコメントを追加するように更新されました。
28日ではなく、1日に20日しか使用していません。このため、あなたの「事業年度」が9月に時期尚早に終了するのはこのためです。 – Uwe
グループ化に 'months()'を使うのは、結果がアルファベット順にソートされるので、ほとんどの場合、悪い考えです。数字の月、ISO標準に準拠した月(2016-09など)、または完全な月の名前を適切にソートされた要素に変換する方がよいでしょう。 – Uwe
@UweBlockソート順に関する回答を更新しました。 28日ではなく20日については、これは私の間違いであり、わずかに「間違った」おもちゃデータを与えますが、問題に対する答えと解決に実質的な影響はありません。 –
- 1. 毎年から毎月のデータをrに変換します
- 2. パンダは毎年毎月に変換する
- 3. 毎年のデータをRまたはvbaで月間に変換する
- 4. Excelのうるう年の日を毎月に変換する
- 5. データフレームを毎月の時系列に変換する
- 6. 複数の年と月の支払いデータを毎月の合計で変換するR
- 7. 毎月の異なる給与タイプを毎月のパンダの列に変換する
- 8. 毎月のxts値を毎月のオプション有効期限に変更します。OHLCV xts in R
- 9. SSMS - 毎日、毎週、毎月のカラム値を変更する
- 10. パンダの月間データを四半期毎に変換
- 11. rアルファ月を数値に変換する
- 12. R/ggplot2の数字を月/年に変換する
- 13. 短縮形の月を使用してRに変換する
- 14. R:毎月の返品方法月額返還方法
- 15. パンダで毎月のデータを四半期に変換する方法
- 16. ncoを使用して毎月のデータを含むNetCDFファイルを毎日のファイルに変換する
- 17. 毎月
- 18. 毎日のデータ温度をパンダで月に換算する
- 19. 動物園の時系列を毎日から毎月に変換する手段
- 20. R:一桁の月と日をPOSIXctに変換
- 21. のMySQL:毎週、毎月SUM
- 22. Javascriptおよび/またはjQueryを使用して毎週から毎月のデータに変換します。
- 23. Pythonで毎日/毎週/毎月の成長を計算する
- 24. asp.netの毎日、毎週、毎月のカレンダービュー
- 25. 毎週のデータをPythonで毎日のデータに変換する
- 26. グループ毎月
- 27. 毎月変数をテキストファイルに保存する機能
- 28. Coverting 2011年9月13日12時00分00秒AM 2011年9月13日
- 29. 月をmmmに変換する
- 30. 変換月数
データの最小限の実例を提供してください。この方法で、より質の高い回答が得られます。 – LAP
[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)と[再現可能な例を与える方法](http://stackoverflow.com/questions)の情報をお読みください。/5963269)。これは他の人があなたを助けることをはるかに容易にします。 – Jaap
最小限の作業例を求める他のコメントに加えて、予想される出力についてより具体的に記述してください。データポイントが同じ月に落ちたときに販売値を追加するだけですか? (人工的な「ピーク」月を作成します)または、売上値を補間(一定間隔での1日あたりの平均売上)し、その後月ごとに集計しますか?後者の場合、日付に指定された売上値は、前の期間に属し、指定された日付に終了しますか? – Uwe