0

R で完全に w/w 成長率を計算しようとしています。Excel を使用するか、Ruby で前処理することもできますが、それは重要ではありません。

data.frame の例

        date   gpv        type
1 2013-04-01 12900 back office
2 2013-04-02 16232 back office
3 2013-04-03  10035 back office

これを「タイプ」で因数分解したいのですが、日付タイプの列を週にまとめる必要があります。そして、週ごとの成長を計算します。

日付が特定の週にあるかどうかを判断するカスタム関数を使用して、週ごとにグループ化するには ddply を実行する必要があると思いますか?

その後、diff前の週で割った週の成長率を使用して見つけます。

次に、週ごとの成長をプロットするか、data.frame を使用してエクスポートします。

これは閉鎖されましたが、同じ有用なアイデアがありました。

4

2 に答える 2

0

更新:ggplotで答えてください:

以下と同じですが、代わりにこれを使用してくださいplot

ggplot(data.frame(week=seq(length(gr)), gr), aes(x=week,y=gr*100)) + geom_point() + geom_smooth(method='loess') + coord_cartesian(xlim = c(.95, 10.05)) + scale_x_discrete() + ggtitle('week over week growth rate, from Apr 1') + ylab('growth rate %')

(古い、正しい答えですが、プロットのみを使用)

さて、私はこれだと思います:

df_net <- ddply(df_all, .(date), summarise, gpv=sum(gpv))  # df_all has my daily data.
df_net$week_num <- strftime(df_net$date, "%U") #get the week # to 'group by' in ddply
df_weekly <- ddply(df_net, .(week_num), summarize, gpv=sum(gov))

gr <- diff(df_weekly$gpv)/df_weekly$gpv[-length(df_weekly$gpv)]  #seems correct, but this I don't understand via: http://stackoverflow.com/questions/15356121/how-to-identify-the-virality-growth-rate-in-time-series-data-using-r
plot(gr, type='l', xlab='week #', ylab='growth rate percent', main='Week/Week Growth Rate')

より良い解決策はありますか?

于 2013-07-21T21:41:47.840 に答える