Work with Strings Cheat Sheet

  • stringrtidyverseで読み込んでくれる。stringiのラッパーで、必要な時は直接stringiの関数を呼び出す。
  • paste0系の置き換え
  • 1個の文字列にするときの(collapse)
  • 区切りで分ける奴の置き換え
  • あとは基本的にチートシートで十分。詰まったらメモる。

複数パターンをまとめて置き換え

dplyr::recodeっぽい表現でstringr::str_replace_all()でできる。str_replace()ではできない模様。argument pattern is missingみたいに怒られるけどヘルプにも載っている記法。

nms <- c("ID", "ASAPS", "Pst_BT", "Age", "Sex", "BH", "BW", "BSA", "Operation_time", "Anesthesia_time", "EBL", "Urine", "Transfusion", "Crystaloid", "colloid", "Compli", "TBil_00", "APTT_00", "PTINR_00", "Fbg_00", "Hb_00", "Plt_00", "TBil_0", "APTT_0", "PTINR_0", "Fbg_0", "Hb_0", "Plt_0", "TBil_1", "APTT_1", "PTINR_1", "Fbg_1", "Hb_1", "Plt_1", "TBil_2", "APTT_2", "PTINR_2", "Fbg_2", "Hb_2", "Plt_2", "TBil_3", "APTT_3", "PTINR_3", "Fbg_3", "Hb_3", "Plt_3", "TBil_5", "APTT_5", "PTINR_5", "Fbg_5", "Hb_5", "Plt_5", "TBil_7", "APTT_7", "PTINR_7", "Fbg_7", "Hb_7", "Plt_7", "TBil_99", "APTT_99", "PTINR_99", "Fbg_99", "Hb_99", "Plt_99")

nms <- nms %>% stringr::str_replace_all(c("_00$" = "_Pre",
                                          "_0$" = "_Pst",
                                          "_1$" = "_POD1",
                                          "_2$" = "_POD2",
                                          "_3$" = "_POD3",
                                          "_5$" = "_POD5",
                                          "_7$" = "_POD7",
                                          "_99$" = "_POD14"))
nms
##  [1] "ID"              "ASAPS"           "Pst_BT"         
##  [4] "Age"             "Sex"             "BH"             
##  [7] "BW"              "BSA"             "Operation_time" 
## [10] "Anesthesia_time" "EBL"             "Urine"          
## [13] "Transfusion"     "Crystaloid"      "colloid"        
## [16] "Compli"          "TBil_Pre"        "APTT_Pre"       
## [19] "PTINR_Pre"       "Fbg_Pre"         "Hb_Pre"         
## [22] "Plt_Pre"         "TBil_Pst"        "APTT_Pst"       
## [25] "PTINR_Pst"       "Fbg_Pst"         "Hb_Pst"         
## [28] "Plt_Pst"         "TBil_POD1"       "APTT_POD1"      
## [31] "PTINR_POD1"      "Fbg_POD1"        "Hb_POD1"        
## [34] "Plt_POD1"        "TBil_POD2"       "APTT_POD2"      
## [37] "PTINR_POD2"      "Fbg_POD2"        "Hb_POD2"        
## [40] "Plt_POD2"        "TBil_POD3"       "APTT_POD3"      
## [43] "PTINR_POD3"      "Fbg_POD3"        "Hb_POD3"        
## [46] "Plt_POD3"        "TBil_POD5"       "APTT_POD5"      
## [49] "PTINR_POD5"      "Fbg_POD5"        "Hb_POD5"        
## [52] "Plt_POD5"        "TBil_POD7"       "APTT_POD7"      
## [55] "PTINR_POD7"      "Fbg_POD7"        "Hb_POD7"        
## [58] "Plt_POD7"        "TBil_POD14"      "APTT_POD14"     
## [61] "PTINR_POD14"     "Fbg_POD14"       "Hb_POD14"       
## [64] "Plt_POD14"