2017-10-10 48 views
-1

在會話中發生或不發生在R A頁/請求ID我有這方面的工作DF:發現如果使用dplyr

lf3 = structure(list(session_id = c(1L, 1L, 1L, 2L, 3L, 3L, 4L, 4L, 
5L, 6L, 6L, 6L, 6L, 7L, 7L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 10L, 
11L, 12L, 12L, 12L, 13L, 13L, 14L), userId = c(1, 1, 1, 2, 3, 
3, 4, 4, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 11, 12, 
12, 12, 13, 13, 14), datetime = structure(c(1457029336, 1457029337, 
1457029340, 1457029596, 1457030783, 1457030784, 1457030918, 1457030920, 
1457031472, 1457031674, 1457031675, 1457031677, 1457031678, 1457032116, 
1457032117, 1457032963, 1457032964, 1457032966, 1457032967, 1457033246, 
1457033247, 1457033249, 1457033359, 1457033530, 1457034351, 1457034353, 
1457034356, 1457034623, 1457034624, 1457035397), class = c("POSIXct", 
"POSIXt"), tzone = "UTC"), referer = c(22, 2, 6, 20, 21, 6, 23, 
17, 21, 22, 11, 10, 6, 24, 10, 6, 25, 26, 27, 8, 6, 1, 6, 28, 
29, 30, 31, 6, 30, 32), request = c(1, 2, 3, 4, 5, 6, 7, 8, 5, 
9, 6, 10, 10, 9, 6, 11, 9, 12, 13, 8, 3, 9, 3, 14, 13, 11, 15, 
6, 6, 16)), .Names = c("session_id", "userId", "datetime", "referer", 
"request"), row.names = c(NA, 30L), class = "data.frame") 

我現在正在爲某些請求ID來匹配,如果他們是在一個會話或不,如果他們做回自己的立場指數數據幀

我想這個代碼,但不知何故沒有得到任何的成功:

lf3 %>% group_by(session_id) %>% do(.,match(6,.,request)) 

檢查請求= 6在會話或沒有和返回位置索引(這樣做的foreach會話)

+0

可以請你詳細說明喲你的意思是'如果他們在一個會議中' –

+0

請顯示預期的輸出 – akrun

+0

我只是想要它的索引位置,如果它存在於一個會話中(TRUE或FALSE),那麼以後我會做總結以找出包含該pageid/request的會話數。假設我們檢查6是否在多個會話中使用不同的id,現在我想使用do函數返回該元素的相對索引位置,但不能獲得成功 – SumitArya

回答

0

我覺得這個代碼將打印您所需的輸出: -

「as.numeric(rownames(LF3 [ifelse(LF3 $ SESSION_ID == 6,T,F)))」

0

這是一個選項:

lf3 %>% group_by(session_id) %>% 
         summarise(do_match = 6 %in% request, 
         act_match = ifelse(6 %in% request,which(request==6),0)) 

記住,請求可能會在會話中出現兩次(這僅捕獲第一)