簡體   English   中英

提取 dataframe 中特定字符后的數字

[英]Extract number after specific character in dataframe

我有一個具有這種結構的數據框:

var            
A1sometext_r2
BXother_r11
A1sometext_r4
C7sometext_r8

並且想要一個新列來存儲“r”后面的數字

var             new  
A1some9text_r2   2
BXother_r11      11
A1sometext_r4    4
C7sometext_r8    8

我正在嘗試合並到 pipe 中,所以 Tidyverse 會更好

謝謝!

你可以這樣做:

tibble(var = paste0('lala_r', sample(1:20, 15))) %>% 
  dplyr::mutate(
    new = stringr::str_replace_all(var, '.*_r([0-9]*)$', '\\1'),
    new = as.integer(new)
  )

Output:

# A tibble: 15 x 2
   var        new
   <chr>    <int>
 1 lala_r8      8
 2 lala_r11    11
 3 lala_r16    16
 4 lala_r7      7
 5 lala_r1      1
 6 lala_r10    10
 7 lala_r12    12
 8 lala_r9      9
 9 lala_r18    18
10 lala_r6      6
11 lala_r3      3
12 lala_r20    20
13 lala_r4      4
14 lala_r14    14
15 lala_r15    15

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM