Понимание Pretty () в R - PullRequest
       7

Понимание Pretty () в R

3 голосов
/ 20 июня 2020
• 1000

Любая помощь будет принята с благодарностью! Заранее спасибо.

1 Ответ

0 голосов
/ 21 июня 2020

Сводка : pretty возвращает несколько нечеткие результаты. Он следует определенным шаблонам, но его нельзя использовать для создания векторов в соответствии с точными спецификациями и (я считаю), что это не предназначено.

Подробности

Думаю, эти примеры не идеально, чтобы показать эффекты pretty(). И то, как работает pretty, нелегко предсказать. Я обычно напоминаю себе, что это было реализовано для создания разумных отметок на графиках. В диаграмме обычно требуется хорошее первое и последнее значение и равные промежутки между ними. Это имеет два последствия:

  • На графике начальный тик должен быть меньше или равен моей min(x) точки данных, а последний тик должен быть больше, чем max(x).
  • Для графика требуется хотя бы одна отметка посередине (только начало и конец мне не кажутся разумными). Думаю, поэтому n=2 не работает. На графике мне тоже обычно не нужны точные отметки. Идея pretty состоит в том, чтобы просто дать вам разумные отметки на основе любых данных.
  • Третий принцип, который может помочь понять pretty: функция игнорирует любые промежуточные шаги, которые вы вводите дюйм. Он извлекает минимальное и максимальное значение и продолжает работу оттуда. Это означает, что pretty(1:5) или pretty(c(1, 5)) не должны иметь значения.

Давайте присмотримся. Это дает результат, который немного его объясняет:

pretty (c(105,543))
[1] 100 200 300 400 500 600

Итак, мы получаем «сбалансированный» вектор. Под сбалансированным я подразумеваю, что вы получаете равные шаги и круглые начальные и конечные точки. В нашем примере 105 округляется до 100 и 543 до 600. Поскольку конечные точки имеют основание 100, деления тоже имеют.

pretty (c(105,543), n=3)
[1] 0 200 400 600

Это не может дать нам 100 300 500, потому что 500 < 543. Почему он не сохраняет n=3, а дает нам 0 300 600, я тоже не могу сказать. Но когда вы запрашиваете n=7 pretty, не может вернуть столько промежуточных шагов с шагом 100. pretty пытается оставаться как можно ближе к min, max и n. Он переключается на размер шага 50.

pretty (c(105,543), n=7)
[1] 100 150 200 250 300 350 400 450 500 550
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...