私は現在、多項処理ツリーモデルに適合するはずの小さなパッケージを作成しています(背景情報が不要なため、 Webページとpdf)。
ファイルからモデル (つまり、数式) を読み取り、それらを ( 経由でparse
) 数式に変換します。後で、これらの式の変数の一部が別のファイルの他の変数と交換されます (つまり、モデルの制限が適用されます)。したがって、モデルは ( 経由でas.character
) 文字に変換され、交換は 経由で行われgsub
ます。
問題: 1 つの式が 500 文字を超える場合、変換して元に戻すas.character
と 500 文字 (またはその程度) に切り捨てられます。
?as.character
与えます:
as.character は、言語オブジェクトのコンポーネントを 500 文字に切り捨てます (1.3.1 より前は約 70 文字でした)。
ここに例があります:
text1 <- paste(rep(LETTERS, 10), collapse = " + ")
nchar(text1)
[1] 1037
expr1 <- parse(text = text1)
text2 <- as.character(expr1)
[1] 504
質問:この 500 文字の制限を回避できますか?
最初にモデルを解析する前に制限を適用する (つまり、変数を交換する) と、この問題を回避できることがわかっています。しかし、これには多くのプログラミングが必要です。基本的にすべての準備が整っているためです。この 500 文字の制限を別の方法で回避できれば素晴らしいことです。