R remove a última palavra da string

Estou tentando fazer algo, mas não consigo lembrar / encontrar a resposta. Eu tenho uma lista de nomes de cidades do Census Bureau e eles colocam o tipo da cidade no final que está bagunçando meumatch().

Eu gostaria de fazer isso:

Middletown Township
Sunny Valley Borough
Hillside Village

nisso:

Middletown
Sunny Valley
Hillside

Alguma sugestão? Idealmente, eu também gostaria de saber se hálastIndexOf() função em R.

Aqui está o dput:

> dput(df1)
structure(list(id = c(1, 2, 3), city = structure(c(2L, 3L, 1L
), .Label = c("Hillside Village", "Middletown Township", "Sunny Valley Borough"
), class = "factor")), .Names = c("id", "city"), row.names = c(NA, 
-3L), class = "data.frame")

questionAnswers(2)

yourAnswerToTheQuestion