使用as.character将表达式强制转换为字符时,有没有办法绕过500个字符的限制?
我目前正在编写一个适合多项处理树模型的小包(对于不需要的背景信息,网页和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个字符的限制,那将会很棒。
没有找到相关结果
已邀请:
2 个回复
犁攀富
更多关于你的应用程序,你可以使用
用公式制作字符串, 并使用此功能:
绕过使deparse添加换行符并将单个表达式拆分为多个字符串的愚蠢长度限制,比较:
先对冈蒲
干杯