Есть ли способ использовать deparse
для возврата строки с исходными дробями? Поведение по умолчанию показано ниже:
> deparse(c(1/2, 2/3, 3))
[1] "c(0.5, 0.666666666666667, 3)"
Желаемый результат "c(1/2, 2/3, 3)"
Аналогично списку:
> deparse(list("name", 1/2, 2/3))
[1] "list(\"name\", 0.5, 0.666666666666667)"
Желаемый результат "list(\"name\", 1/2, 2/3)"
РЕДАКТИРОВАТЬ:
Некоторые более подробные сведения о вводе. Пользователь может предоставить «1/2 2/3 3», например. После некоторого разбора я использую MASS::fractions
, чтобы преобразовать в вектор или дроби.
x <- c(1/2, 2/3, 3)
x <- MASS::fractions(x)
deparse(x, control = "keepNA")
Result: "c(0.5, 0.666666666666667, 3)"
Desired result "c(1/2, 2/3, 3)"
Я ищу способ сказать deparse использовать нотацию дроби или еще способ подготовитьвектор перед переходом в разборку, поэтому я получаю желаемый результат. Из ответов пока (спасибо всем!) Кажется, что это может быть трудно