[英]How to remove part of characters in data frame column
我有一個如下數據框(較大集合的一部分):
對於raw$Zipcode
列,我需要刪除瑞典郵政編碼的郵政編碼前的兩個00
(最好通過函數)。 我對 R 非常陌生,並且找到了gsub
和strsplit
但似乎無法使其工作:
raw2 <- unlist(strsplit(raw$ZipCode, split="00", fixed=TRUE))[2]
零是字符,因為數據集中的其他國家/地區有字母。 在列中兩個第一個字符字母為零的所有情況下,如何刪除前兩個零?
v <- c("00345", "00045", "12345", "12005")
sub("^0{2}", "", v)
# [1] "345" "045" "12345" "12005"
有多種方法可以做到這一點:
as.numeric
。raw$Zipcode <- as.numeric(raw$Zipcode)
character
,那么你可以使用stringr
package。library(stringr)
raw$Zipcode <- str_replace(raw$Zipcode, "^0+" ,"")
str_remove
的stringr
。raw$Zipcode <- str_remove(raw$Zipcode, "^0+")
sub
組件。raw$Zipcode <- sub("^0+", "", raw$Zipcode)
但是,如果要刪除n
個前導零,請將+
替換為{n}
以刪除它們。
例如要刪除兩個 0,請使用sub("^0{2}", "", raw$Zipcode)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.