В настоящее время я пишу небольшой пакет, который должен соответствовать моделям полиномиального дерева обработки (для не требуется справочная информация на веб-странице и pdf ).
Он делает следующее: он считывает модель (то есть формулы) из файла и преобразует их (с помощью синтаксического анализа
) в выражения. Позже некоторые переменные в этих выражениях заменяются другими переменными из другого файла (т. Е. Применяются ограничения модели). Следовательно, модель снова преобразуется в символы (через as.
Проблема: если одно выражение длиннее 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 символов другим способом.