График отклонений в базовой графике - PullRequest
0 голосов
/ 23 марта 2019

Мне нужно сделать диаграмму отклонений (график леденцов с линиями от среднего значения до значений выше / ниже среднего).Из этого вопроса и ответа Рисование отрезков линии в R , ясно, что мне нужно построить segments и затем добавить точки.Тем не менее, моя ось x является фактором, и решение не удается.

Это работает:

df <- data.frame(ID = c(1, 2, 3),
                 score = c(30, 42, 48))
mid <- mean(df$score)

plot(range(df$ID), range(df$score),type="n")
segments(df$ID, df$score, df$ID, mid)

Но изменение моей переменной-идентификатора в фактор разрушает ее.

df$ID2 <- factor(df$ID)
plot(range(df$ID2), range(df$score),type="n")
segments(df$ID2, df$score, df$ID2, mid)

Как я могу настроить площадь графика и значения оси X для работы с фактором?

Обратите внимание, что мне нужно базовое графическое решение, чтобы соответствовать другим диаграммам в отчете стиля панели управления.

1 Ответ

2 голосов
/ 23 марта 2019

Вы можете преобразовать коэффициент в числовую переменную, подавить ось X и затем добавить правильные метки на график:

df$ID2 <- factor(letters[df$ID]) # Use letters to show that this is working

plot(range(as.numeric(df$ID2)), range(df$score), type = "n", xaxt = "n")
segments(as.numeric(df$ID2), df$score, as.numeric(df$ID2), mid)
axis(1, at = seq_along(levels(df$ID2)), labels = levels(df$ID2))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...