以下のようなデータがありますので、「」を入れ替えたいです。スペースを使用してgsub()を使用しますが、正しい出力を取得できませんでした。
data<-c("12.57869486" ,"12.57869582" ,"12.57870155")
a<- gsub("."," ", data)
a
[1] " " " " " "
これを実現する多くの方法:
1)gsubのfixed
パラメータを使用します。
_?gsub
_から:
固定論理。 TRUEの場合、パターンはそのまま照合される文字列です。すべての矛盾する引数を上書きします。
したがって、コマンドに_fixed=TRUE
_を追加するだけで、の解釈を回避できます。任意の文字として(正規表現モード):
_> a<-gsub(".", " ", data, fixed=TRUE)
> a
[1] "12 57869486" "12 57869582" "12 57870155"
_
2)chartr
を使用します(G. Grothendieckコメントから):
_chartr(".", " ", data)
_
3)正規表現の任意の文字を意味する特殊文字_.
_をエスケープします:(Tim Biegeleisenコメントから)
gsub("\\.", " ", data)
二重のバックスラッシュでエスケープgsub("[.]", " ", data)
文字クラスを使用したエスケープ長い正規表現では、2番目の構文が読みやすくなるので、2番目の構文を好む傾向があります。