Extraiga la fila correspondiente al valor mínimo de una variable por grupo

Deseo (1) agrupar datos por una variable (State), (2) dentro de cada grupo encuentre la fila del valor mínimo de otra variable (Employees) y (3) extraer toda la fila.

(1) y (2) son frases sencillas, y creo que (3) también debería serlo, pero no puedo entenderlo.

Aquí hay un conjunto de datos de muestra:

> data
  State Company Employees
1    AK       A        82
2    AK       B       104
3    AK       C        37
4    AK       D        24
5    RI       E        19
6    RI       F       118
7    RI       G        88
8    RI       H        42

data <- structure(list(State = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 
        2L), .Label = c("AK", "RI"), c,lass = "factor"), Company = structure(1:8, .Label = c("A", 
        "B", "C", "D", "E", "F", "G", "H"), class = "factor"), Employees = c(82L, 
        104L, 37L, 24L, 19L, 118L, 88L, 42L)), .Names = c("State", "Company", 
        "Employees"), class = "data.frame", row.names = c(NA, -8L))

Calcularmin por grupo es fácil, usandoaggregate:

> aggregate(Employees ~ State, data, function(x) min(x))
  State Employees
1    AK        24
2    RI        19

...odata.table:

> library(data.table)
> DT <- data.table(data)
> DT[ , list(Employees = min(Employees)), by = State]
   State Employees
1:    AK        24
2:    RI        19

Pero, ¿cómo extraigo toda la fila correspondiente a estosmin valores, es decir, también incluidosCompany ¿en el resultado?

Respuestas a la pregunta(5)

Su respuesta a la pregunta