Управляющие цифры / округление как аргумент в базовых функциях
При написании научных статей значения обычно представляются в виде округленных значений с одной, двумя или тремя цифрами, часто в зависимости от типа сообщаемого значения. Это означает, что каждый раз, например, когда я включаю встроенное значение mean
в Rmarkdown, я должен добавить round
в код.
Таким образом, я задаюсь вопросом: есть ли способ контролировать количество цифр вывода базовых функций, таких как, например, mean()
в качестве дополнительного аргумента в функции mean()
? На самом деле этот дополнительный аргумент был бы также нужно провести округление.
round(), format()
и sprintf()
или указание количества цифр в глобальной опции. Я не хочу использовать последний вариант, так как мне нужно различное количество цифр в документе.
Итак, я хочу что-то вроде:
mean(c(0.34333, 0.1728, 0.5789), digits=2)
, что дает тот же результат, что и:
round(mean(c(0.34333, 0.1728, 0.5789)), 2)
Я знаю, это немного глупо, так как количество символов, которые нужно ввести, точно такое же в оба куска. Для меня ключевым отличием было бы то, что я мог бы написать , digits=2)
непосредственно после ввода переменной и не нужно было бы прыгать в начало блока, чтобы добавить round(
и в конце добавить , 2)
.
Есть идеи?
1 ответ:
Лучший способ, который я знаю, это использование оператора прямой трубы
%>%
из пакетаmagrittr
Следует также отметить, что пакет> library(magrittr) > mean(c(0.34333, 0.1728, 0.5789)) [1] 0.36501 > mean(c(0.34333, 0.1728, 0.5789)) %>% round(3) [1] 0.365
magrittr
используется другим очень популярным пакетомdplyr
, который предоставляет дополнительную функциональность для операций с фреймами данных. Поэтому, когда я использую трубопровод, я почти всегда пишуlibrary(dplyr)
, в то время какmagrittr
остается за кадром.