![](/img/trans.png)
[英]How do I get the current Avg. CPC bid for a keyword in Google AdWords API using R (preferably) or Python?
[英]Using R to get volatility and Peak to avg. Ratio of internet traffic data
對於R數據集中的以下十天的每小時,我有以下網絡流量數據。
Day Hour Volume Category
0 00 100 P2P
0 00 50 email
0 00 200 gaming
0 00 200 video
0 00 150 web
0 00 120 P2P
0 00 180 web
0 00 80 email
....
0 01 150 P2P
0 01 200 P2P
0 01 50 Web
...
...
10 23 100 web
10 23 200 email
10 23 300 gaming
10 23 300 gaming
如圖所示,一小時內也會重復分類。 我需要計算這些不同應用類別的波動率和高峰小時與平均小時比率。
波動率 :每小時交易量的標准差除以小時平均值。
高峰時段平均 小時比 :最大小時與體積的體積比。 該申請的平均小時數。
那么如何匯總和計算每個類別的這兩個統計數據呢? 我是R的新手,並且對如何聚合和獲得所提到的平均值知之甚少。
因此,最終結果看起來像這樣,首先通過對體積求和然后計算兩個統計數據,在一個24小時內聚合每個類別的體積。
Category Volatility Peak to Avg. Ratio
Web 0.55 1.5
P2P 0.30 2.1
email 0.6 1.7
gaming 0.4 2.9
編輯:普萊爾讓我這么做。
stats = ddply(
.data = my_data
, .variables = .( Hour , Category)
, .fun = function(x){
to_return = data.frame(
volatility = sd((x$Volume)/mean(x$Volume))
, pa_ratio = max(x$Volume)/mean(x$Volume)
)
return( to_return )
}
)
但這不是我所希望的。 我想要每個類別的統計數據,其中所有小時數首先匯總到24小時,然后匯總數量,然后計算波動率和PA比率。 有任何改進建議嗎?
您需要分兩個階段進行(使用plyr
包):首先,正如您所指出的,同一類別可以有多個Day-Hour組合,因此我們首先針對每個類別匯總每個類別中的總計小時, 無論白天 :
df1 <- ddply( df, .(Hour, Category), summarise, Volume = sum(Volume))
然后你得到你的統計數據:
> ddply(df1, .(Category), summarise,
+ Volatility = sd(Volume)/mean(Volume),
+ PeakToAvg = max(Volume)/mean(Volume) )
Category Volatility PeakToAvg
1 P2P 0.3225399 1.228070
2 Web NA 1.000000
3 email 0.2999847 1.212121
4 gaming 0.7071068 1.500000
5 video NA 1.000000
6 web 0.7564398 1.534884
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.