Я использую plot
в течение довольно долгого времени, и мне интересно, сколько будет разбито, если аргумент типа может переопределить категориальные предиктора. Прямо сейчас график всегда пытается использовать ящики, когда переменная x является фактором. Кажется, что метод plot.factor
всегда вызывается. Было бы неплохо, если бы тип мог переопределить эту функцию, и мне не нужно было делать численную ось x, подавлять ее, а затем добавлять ее позже. Меня не интересует функция обертки, так как я довольно подробно описал, как это сделать. Мне просто интересно, есть ли аргумент plot
, который я пропустил, который может решить эту проблему.Трюки для переопределения plot.factor?
Например, как правило, boxplot попытка в этом случае ...
y <- 1:4
x <- factor(letters[1:4])
plot(y ~ x)
Я бы предпочел, чтобы просто построить точки и правильно маркировать й-ось. Следующие работы, но я надеялся на более простую версию.
nx <- length(x)
plot(y ~ 1:nx, xaxt = 'n')
axis(1, 1:nx, x, xlab = '')
Я надеялся, что-то вроде следующего может работать ...
plot(y ~ x, type = 'n')
points(1:nx, y)
, но не идти. И type = 'p'
тоже этого не делает.
Я считаю, что это последняя неудача еще один пример несогласованности в R. Установка type = 'n'
должны работать в вызовы методов, а также или это должно быть обязательным, чтобы все plot
функции используют его (наследственные или по крайней мере, прошли через ...
). Он находится в plot.default
.
FYI: Поведение аргумента 'type', обозначающее ошибку, является фактически документированным поведением. При описании дальнейших аргументов в «plot.factor» в документации четко сказано «None accept type». То, что вы описали, будет больше похоже на запрос функции, так как R Core добавляет аргумент типа 'boxplot' (который в конечном итоге называется). И они, вероятно, (справедливо) утверждают, что на самом деле не стоит пытаться спасти людей 1-2 лишними линиями вызова «оси». – joran
Я думаю, что есть что сказать, для согласованности даже более грубо, чем лаконичность. Хорошо, да, возможно, я должен поместить его в качестве запроса функции. – John
Эй, я на самом деле на твоей стороне здесь. Я думаю, что отслеживание того, какие аргументы идут, какие методы для общего типа «сюжет» могут быть более сложными, чем хотелось бы в идеале. Я просто указывал (несколько банальный) факт, что эта сложность означает, что внесение изменений может быть гораздо более эффективной, чем преимущества. – joran