簡體   English   中英

使用R來獲得波動性並使用峰值來平均。 互聯網流量數據的比率

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM