График временной шкалы в стиле Ганта (в базе R)
У меня есть датафрейм, который выглядит так:
person n start end
1 sam 6 0 6
2 greg 5 6 11
3 teacher 4 11 15
4 sam 4 15 19
5 greg 5 19 24
6 sally 5 24 29
7 greg 4 29 33
8 sam 3 33 36
9 sally 5 36 41
10 researcher 6 41 47
11 greg 6 47 53
Где начало и конец - это время или продолжительность (sam говорил от 0 до 6; greg от 6 до 11 и т. Д.). n - как долго (в данном случае # слов) человек говорил. Я хочу представить это как временную шкалу в базе R (в конечном итоге я могу задать аналогичный вопрос, используя ggplot2, но этот ответ специфичен для базы R [когда я говорю «база», я имею в виду пакеты, которые поставляются со стандартной установкой]).
Ось у будет человеком, а ось х будет временем. Надеемся, что конечный продукт будет выглядеть примерно так для данных выше:
Я хотел бы использовать базу R, чтобы сделать это. Я не уверен, как подойти к этому. Мои мысли состоят в том, чтобы использовать точечный график и построить точечный график, но не использовать точки. Тогда идите через это с квадратными сегментами конца. Я не уверен в том, как это будет работать, поскольку сегментам нужны числовые точки x и y, чтобы сделать сегменты, а ось y является категориальной. Другая идея состоит в том, чтобы преобразовать коэффициенты в числовые (назначить каждому фактору число) и построить в виде пустой диаграммы рассеяния, а затем перейти к квадратным отрезкам конечных линий. Это может быть мощным инструментом в моей области, глядя на образцы речи.
Заранее благодарю за помощь.
PS аргумент для прямоугольных отрезков segments(... , lend=2)
чтобы сэкономить время на поиске этой информации для тех, кто не знаком со всеми аргументами сегмента.