我目前正在寫一個應該適合多項處理樹模型的小包(對於不需要背景信息a web page和pdf)。將表達式強制轉換爲使用as.character的字符時,是否有辦法避開500個字符的限制?
它的作用如下:它從文件中讀取一個模型(即公式)並將它們(通過parse
)轉換爲表達式。之後,這些表達式中的一些變量由來自另一文件的其他變量交換(即,應用模型限制)。因此,該模型會重新轉換爲字符(通過as.character
),並通過gsub
完成交換。
問題:如果單個表達式的長度超過500個字符,則通過as.character
將它們轉換回500個字符(大約)。
?as.character
給出:
as.character截斷 語言對象的成分爲500個字符 (約爲70 1.3.1之前)。
下面的例子:
text1 <- paste(rep(LETTERS, 10), collapse = " + ")
nchar(text1)
[1] 1037
expr1 <- parse(text = text1)
text2 <- as.character(expr1)
[1] 504
問題:你能解決這個500字符的限制?
我知道如果我們在第一次解析模型之前應用限制(即交換變量),我們可以解決這個問題。但是,這將涉及到很多編程,因爲整個事情基本上已經準備好了,如果我們能夠以另一種方式解決500個字符的限制,那將是非常好的。
誰能給一個很好的理由,爲什麼這樣的限制將存在於一個現代化的計劃? – 2011-03-03 12:51:58
@大衛這也是我的想法。特別是,爲什麼它是硬編碼的,而不是,例如,在選項中可以改變? – Henrik 2011-03-03 12:54:38
這真是一個靜態大小的數組,'char s [500]'這看起來很蹩腳。也許有一個很好的理由...... – 2011-03-03 12:58:54