簡體   English   中英

r基於字母數字字符拆分列

[英]r to split column based on alpha numeric char

我在數據幀中有一個列,它是狀態代碼的組合,例如TX和一些id。

GaID
TX1
TX2
NJ2

我想做什么:

State, GaID
TX,TX1
TX,TX2
NJ,NJ2

我尋找拆分功能,但無法弄清楚如何拆分字母數字字符串

我能想到的最簡單的方法是:

dat <- data.frame(GaID = c('TX1', 'TX2', 'NJ2'))

dat[, "State"] <- unlist(strsplit(as.character(dat$GaID), "\\d"))
dat[, 2:1]

##   State GaID
## 1    TX  TX1
## 2    TX  TX2
## 3    NJ  NJ2

如果您知道字符串開頭的條件是兩個字符,則以下內容可能更快(僅在您擁有大型數據集時才會注意到):

substr

substr(dat$GaID, 1, 2)

sub

sub("(^[A-Z]{2}).*", "\\1", dat$GaID)

暫無
暫無

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

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