我目前正在编写一个小包,它应该适合多项式处理树模型(对于不需要背景信息的网页和pdf)。
它的作用如下:它从文件中读取模型(即公式)并将它们(通过parse
)转换为表达式。后来,这些表达式中的一些变量被另一个文件中的其他变量交换(即,应用了模型限制)。因此,模型返回转换为字符(通过as.character
),交换是通过gsub
。
问题:如果单个表达式超过 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 个字符的限制,那就太好了。