Gráfico de línea de tiempo de estilo Gantt (en base R)

Tengo un marco de datos que se ve así:

       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

Donde el inicio y el final son tiempos o duraciones (sam habló de 0 a 6; greg de 6 a 11, etc.). n es cuánto tiempo (en este caso # de palabras) habló la persona. Quiero trazar esto como una línea de tiempo en la base R (eventualmente puedo hacer una pregunta similar usando ggplot2 pero esta respuesta es específica de la base R [cuando digo base me refiero a los paquetes que vienen con una instalación estándar]).

El eje y será por persona y el eje x será tiempo. Esperemos que el producto final se vea más o menos así para los datos anteriores:

Me gustaría usar la base R para hacer esto. No estoy seguro de cómo abordar esto. Mis pensamientos son usar un diagrama de puntos y trazar un diagrama de puntos pero dejar de lado los puntos. Luego repita esto con segmentos de extremo cuadrado. No estoy seguro de cómo funcionará esto, ya que los segmentos necesitan puntos numéricos x e y para hacer que los segmentos y el eje y sean categóricos. Otra idea es convertir los factores a numéricos (asignar un número a cada factor) y trazarlos como un diagrama de dispersión en blanco y luego repasar con segmentos de línea final cuadrados. Esta podría ser una herramienta poderosa en mi campo para observar patrones de habla.

Te agradezco de antemano por tu ayuda

PS el argumento para los segmentos de línea de punta cuadrada es segments(... , lend=2) para ahorrar tiempo buscando esta información para aquellos que no están familiarizados con todos los argumentos del segmento.

Respuestas a la pregunta(6)

Su respuesta a la pregunta