[英]Dplyr add column to data frame based on specific value of grouped data
我有一個數據框,其中包含每周各種用戶的頁面瀏覽量。 看起來像這樣:
Userid week views
eerr 24 1
dd 24 2
dd 25 1
...
我想繪制每周的平均瀏覽量。 但是,我想根據用戶在第一周的瀏覽量對用戶進行分組,以便為具有不同活動級別的用戶繪制單獨的軌跡。 我可以通過做每個用戶的第一周
weekdf = df %>% group_by(Userid) %>% mutate(firstweek = min(week))
但是我不知道如何在第一周按行中的視圖值進行分組。 我嘗試在摘要中使用用戶定義的函數,該函數似乎可以正常運行,但是它從未終止,而且我明白了為什么-它必須多次重新計算所有內容。
getoffset <- function(week, Userid,minweekdf)
{
minweek = minweekdf[minweekdf$Userid == Userid,2]
offsetweek = week - minweek
return(offsetweek)
}
offsetdf = df %>% group_by(Userid, week) %>% summarise(offsetweek = getoffset(week, Userid, minweek))
我該怎么做,最好是在dplyr中?
像這樣:
df %>% group_by(Userid) %>% arrange(week) %>% mutate(fv = first(views) )
然后可以按fv分組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.