Seleccionar marcas de tiempo dentro del rango en R

Tengo dos marcos de datos en R.

df1 tiene este aspecto:

id       time
1        2018-08-28 11:22:40
2        2018-08-28 11:35:10
3        2018-08-28 11:50:00
4        2018-08-28 11:55:30

df2 tiene este aspecto:

start_time             end_time
2018-08-28 11:22:00    2018-08-28 11:22:50
2018-08-28 11:30:30    2018-08-28 11:34:10
2018-08-28 11:49:00    2018-08-28 11:52:20
2018-08-28 11:57:20    2018-08-28 11:59:40

Estoy tratando de seleccionar las filas de df1 que se encuentran entre cualquiera de los pares start_time y end_time en df2. En el ejemplo anterior, eso me dejaría con:

id       time
1        2018-08-28 11:22:40
3        2018-08-28 11:50:00

Este problema es similar al encontradoaqu pero en R en lugar de SQL. ¿Cómo logro esto

Respuestas a la pregunta(1)

Su respuesta a la pregunta