[英]Replacing certain special characters like @ or - with their actual words "at" and "dash" using R
[英]Replacing characters using R
我有一個帶有1列“地址”的csv文件。 其值如下:
A <- structure(list(Address = structure(1:3, .Label = c("&2340 P St",
"&5656 N St", "456 B Street"), class = "factor")), .Names = "Address",
row.names = c(NA, 3L), class = "data.frame")
A
## Address
## 1 &2340 P St
## 2 &5656 N St
## 3 456 B Street
我需要清除數據–如果有“&”,則擦除所有字符(或用空格替換)。 我期望在我的2.csv文件中獲得此結果:
## Address
## 1 456 B Street
這是代碼:
A <-read.csv("U:/161/1.csv", header=T,sep=",")
B<-gsub("&", " ", A$ADDRESS1, ignore.case = TRUE)
write.table(B, file = "U:/161/2.csv", sep = ","
, col.names = NA, qmethod = "double")
它僅刪除“&”。 如何刪除其余地址?
使用grep
或grepl
識別哪些行包含&
然后排除那些行
B <- droplevels(A[!grepl('&', A$Address), ,drop=FALSE])
B
## Address
## 3 456 B Street
注意,我將[
調用包裝在droplevels
以確保也刪除未使用的水平(那些帶有&
水平),因為在這種情況下,結果只會是1行,我添加了drop=FALSE
來將B
保留為data.frame
要使用grep
(返回索引),您可以使用-
B <- droplevels(A[-grep('&', A$Address), ,drop=FALSE])
B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.