R 根据排名数据添加分组变量

R 根据排名数据添加分组变量,r,dplyr,R,Dplyr,考虑以下数据帧: name <- c("Sally", "Dave", "Aaron", "Jane", "Michael") rank <- c(1,2,1,2,3) df <- data.frame(name, rank, stringsAsFactors = FALSE) 我们可以使用cumsum创建索引 library(dplyr) df %>% mutate(event = c("Hurdles", "Long Jump")[cumsum(rank =

考虑以下数据帧:

name <- c("Sally", "Dave", "Aaron", "Jane", "Michael")
rank <- c(1,2,1,2,3)
df <- data.frame(name, rank, stringsAsFactors = FALSE)
我们可以使用cumsum创建索引

library(dplyr)
df %>% 
   mutate(event = c("Hurdles", "Long Jump")[cumsum(rank == 1)])
#      name rank     event
#1   Sally    1   Hurdles
#2    Dave    2   Hurdles
#3   Aaron    1 Long Jump
#4    Jane    2 Long Jump
#5 Michael    3 Long Jump
或者在R底,以防万一

df$event <- c("Hurdles", "Long Jump")[cumsum(df$rank == 1)])
我们可以使用cumsum创建索引

library(dplyr)
df %>% 
   mutate(event = c("Hurdles", "Long Jump")[cumsum(rank == 1)])
#      name rank     event
#1   Sally    1   Hurdles
#2    Dave    2   Hurdles
#3   Aaron    1 Long Jump
#4    Jane    2 Long Jump
#5 Michael    3 Long Jump
或者在R底,以防万一

df$event <- c("Hurdles", "Long Jump")[cumsum(df$rank == 1)])