Expand ranges defined by “from” and “to” columns

前端 未结 9 1859
悲哀的现实
悲哀的现实 2020-11-22 07:02

I have a data frame containing \"name\" of U.S. Presidents, the years when they start and end in office, (\"from\" and \"to\" columns

9条回答
  •  野性不改
    2020-11-22 07:26

    Another solution using dplyr and tidyr:

    library(magrittr) # for pipes
    df <- data.frame(tata = c('toto1', 'toto2'), from = c(2000, 2004), to = c(2001, 2009))
    
    #    tata from   to
    # 1 toto1 2000 2001
    # 2 toto2 2004 2009
    
    df %>% 
      dplyr::as.tbl() %>%
      dplyr::rowwise() %>%
      dplyr::mutate(combined = list(seq(from, to))) %>%
      dplyr::select(-from, -to) %>%
      tidyr::unnest(combined)
    
    #   tata  combined
    #       
    # 1 toto1     2000
    # 2 toto1     2001
    # 3 toto2     2004
    # 4 toto2     2005
    # 5 toto2     2006
    # 6 toto2     2007
    # 7 toto2     2008
    # 8 toto2     2009
    

提交回复
热议问题