График временной шкалы в стиле Ганта (в базе 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) чтобы сэкономить время на поиске этой информации для тех, кто не знаком со всеми аргументами сегмента.

Ответы на вопрос(3)

Ваш ответ на вопрос