postgresql - ROW_NUMBER() OVER (PARTITION BY nick ORDER BY p_time) in R -
having
x=data.frame(nick=c('a','a','b','b','b','c'), p_time=1:6) nick p_time 1 1 2 2 3 b 3 4 b 4 5 b 5 6 c 6 how can this:
nick p_time flag 1 1 1 2 2 2 3 b 3 1 4 b 4 2 5 b 5 3 6 c 6 1 i used pgsql row_number() on (partition nick order p_time) it,but need utilize r only. thanks.
it looks want generate "serial number" of sorts group, groups "nick" column. if that's case, can utilize ave , seq_along within within:
within(x, { flag <- ave(as.character(nick), nick, fun = seq_along) }) # nick p_time flag # 1 1 1 # 2 2 2 # 3 b 3 1 # 4 b 4 2 # 5 b 5 3 # 6 c 6 1 r postgresql
No comments:
Post a Comment