Я использую RStudio, R Markdown, Latex и Pandoc для очистки данных, построения переменных, запуска моего анализа и отчета о результатах. Я новичок в концепции воспроизводимых исследований, но я подключен. Имеет большой смысл.
Динамические таблицы и цифры не представляют проблемы. Однако динамический текст меня бросает. Я могу вставить встроенный код, чтобы сказать, что 95% всех статистических данных являются ложными, но я не уверен, как я могу изменить свой язык воспроизводимым образом.
Например, что, если у меня есть объект x = 0.66, и я хочу написать "2 из 3 стоматологов используют Crest"? Я могу посмотреть текущее значение x, 0.66 и тип "2 из 3" в тексте, но это не воспроизводится. Скажем, я получаю новые данные и повторно запускаю свой анализ, а x становится 0.52. Мой текст будет устаревшим. Конечно, я мог бы динамически сообщать, что 52% дантистов предпочитают Crest, но отчет становится устаревшим, когда все сообщается в процентах.
Моя мысль заключается в том, что я могу создавать функции, которые я мог бы вызывать в тексте, когда хочу изменить запись. Например, функция "out.of" может работать, если выражения else выражают текст:
ifelse(x < 0.09,"fewer than 1 out of 10",
ifelse(x >= 0.09) & x < 0.11,"roughly 1 out of 10",
ifelse(x >= 0.11 & x < 0.15,"slightly more than 1 out of 10",
ifelse(x >= 0.15 & x < 0.19,"nearly 2 out of 5",
ifelse(x >= 0.19 & x < 0.21,"roughly 2 out of 5",
...
ifelse(x >= 0.95 & x < 0.99,"nearly all",
ifelse(x >= 0.99,"all","fubar"))...)
Я мог бы также создать функцию фракции, которая сделала бы что-то подобное для одной десятой, двух пятых, одной трети...
Я уверен, что другие уже решили эту проблему. Любые вести? Идеи?