代码之家  ›  专栏  ›  技术社区  ›  YouLocalRUser

按年份细分的数据帧

  •  1
  • YouLocalRUser  · 技术社区  · 11 月前

    我有一个关于县行政人员及其任职年份的数据集。我需要分解每位高管就职的年份。

    问题是“year”变量下的符号不一致。

    例如,假设我从这个开始:

    df <- data.frame(year= c(2000, "from 2001 to 2002", "01-feb-2003", 2000, "01-jan-2002", "from 2004 to 2005"),
                      executive.name= c("Johnson", "Smith", "Alleghany", "Roberts", "Clarke", "Tollson"),
                      district= rep(c(1001, 1002), each=3))
    
    

    我希望它看起来像这样

    df.neat <- data.frame(year= c(2000, 2001, 2003, 2000, 2002, 2004),
                      executive.name= c("Johnson", "Smith", "Alleghany", "Roberts", "Clarke", "Tollson"),
                      district= rep(c(1001, 1002), each=3))
    

    请注意,迭代周期并不总是一致的(1001区为2000年、2001年和2003年,1002区为2000、2002年和2004年)。

    1 回复  |  直到 11 月前
        1
  •  2
  •   LMc    11 月前
    library(dplyr)
    library(stringr)
    
    df |>
      mutate(year = as.numeric(str_extract(year, "\\d{4}")))
    #   year executive.name district
    # 1 2000        Johnson     1001
    # 2 2001          Smith     1001
    # 3 2003      Alleghany     1001
    # 4 2000        Roberts     1002
    # 5 2002         Clarke     1002
    # 6 2004        Tollson     1002
    
    推荐文章