Rの関数に送信されるテキスト文字列をフォーマットするときに二重引用符を使用すると問題が発生します。
関数コードの例を考えてみましょう。
foo <- function( numarg = 5, textarg = "** Default text **" ){
print (textarg)
val <- numarg^2 + numarg
return(val)
}
次の入力で実行する場合:
foo( 4, "Learning R is fun!" )
出力は次のとおりです。
[1] "Learning R is fun!"
[1] 20
しかし、(ここで提案されているように)Rの代わりに「R」を書き込もうとすると、次の出力が得られます。
> foo( 4, "Learning R is fun!" )
[1] "Learning R is fun!"
[1] 20
> foo( 4, "Learning "R" is fun!" )
Error: unexpected symbol in "funfun( 4, "Learning "R"
> foo( 4, "Learning \"R\" is fun!" )
[1] "Learning \"R\" is fun!"
[1] 20
> foo( 4, 'Learning "R" is fun!' )
[1] "Learning \"R\" is fun!"
[1] 20
ここでas.character(...)
またdQuote(...)
はを使用すると、引数の数が異なるため、関数が機能しなくなるようです。