0
上升的條件計數(對會話Web流量)我期待會話一些網絡流量。我有我的數據幀列,總結的持續時間,直到秒的下一個請求,它可能是這樣的:在R
TimeToNext <- c(0,526,274,3000,1, 1900)
我想我可以寫一個時髦的小功能,保持的軌道內,然後會話數增加這將上浮了1(即...新的會話)如果TimeToNext
超過我的閾值的數字會話值...類似:
session_length <- 1800
我試着寫(注意,我想在會話中加入,所以我可以選擇在如果需要更高的數字開始的,這是start_session
):
sessionise <- function(TimeToNext, start_session = 1) {
session = start_session
if(TimeToNext >= session_length) {
session = session + 1
session
} else {
session
}
}
但是這讓我以下警告:
Warning message: In if (TimeToNext >= session_length) { : the condition has length > 1 and only the first element will be used
我不明白它...我可以做的:
TimeToNext[1:6] > 1800
[1] FALSE FALSE FALSE TRUE FALSE TRUE
我想我一定是缺少一些關於設置變量的範圍樂從有條件的循環中......
只要是明確的,在上面的例子中我會尋找會是這樣的:
sessionise(TimeToNext)
[1] 1 1 1 2 2 3
我失去了一些有關範圍是什麼?或者我錯誤地處理了一個數據幀......?
不應該說,它是'1,1,1,2,2,2'?即'cumsum(TimeToNext> 1800)+ 1' – Sotos
很正確,這是一個錯字,已經將頂部修改爲'TimeToNext < - c(0,526,274,3000,1,1900)'。謝謝! – Huw
'cusum'看起來就像我之後的事!把它放在答案中,我會標記它是正確的。非常感謝! – Huw