0

アドレスが 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")

「&」のみを削除します。残りのアドレスを削除するにはどうすればよいですか?

4

1 に答える 1

0

grepまたはを使用greplして、含まれる行を特定し&、それらの行を除外します

B <- droplevels(A[!grepl('&', A$Address), ,drop=FALSE])
B
##       Address
## 3 456 B Street

未使用のレベル ( が付いているもの) もドロップされるように[呼び出しをラップしていることに注意してください。この場合、結果は 1 行だけになるため、droplevels&drop=FALSEBdata.frame

grep(インデックスを返す)を使用するには、使用します-

B <- droplevels(A[-grep('&', A$Address), ,drop=FALSE])
B
于 2012-10-16T23:27:43.133 に答える