5

Rコードで「/」を「\」に変更する必要があります。私はこのようなものを持っています:

tmp <- paste(getwd(),"tmp.xls",sep="/")

だから私のtmpc:/Study/tmp.xls

そして私はそれが欲しい:c:\Study\tmp.xls

Rで変更できますか?

4

1 に答える 1

11

コメントに従って更新します。

これが単にファイルを保存するためのものである場合は、@sgibb が提案したように、次を使用することをお勧めしますfile.path()

    file.path(getwd(), "tmp.xls") 

更新 2:二重のバックスラッシュが必要です。

tmp は でstringあり、実際のバックスラッシュが必要な場合は、バックスラッシュを使用してエスケープする必要があります。ただし、Rが二重スラッシュを解釈する場合 (たとえば、文字列で示されるパスを持つファイルを検索する場合)、一見二重スラッシュを 1 つとして扱います。

文字列を出力するとどうなるか見てみましょうcat()

cat("c:\\Study\\tmp.xls")
c:\Study\tmp.xls

2 番目のスラッシュが「消えた」


元の回答:

R, \はエスケープ文字であるため、文字どおりに出力したい場合は、エスケープ文字をエスケープする必要があります: \\. pasteこれがあなたの声明 に入れたいものです。

.Platform$file.sepsep 引数として使用することもできます。これにより、コードの移植性が大幅に向上します。

 tmp <- paste(getwd(),"tmp.xls",sep=.Platform$file.sep)

置き換えたい文字列が既にある場合は、次を使用できます

    gsub("/", "\\", tmp, fixed=TRUE)
于 2013-03-26T18:54:25.423 に答える