Convierte un vector de caracteres de números mixtos, fracciones y enteros a números

Estoy tratando de escribir una función R para convertir fracciones y números mixtos a decimales. p.ej.

mixedToFloat <- function(x){
    x <- sub(' ', '+', x, fixed=TRUE)
    return(unlist(lapply(x, function(x) eval(parse(text=x)))))
}

> mixedToFloat(c('1 1/2', '2 3/4', '2/3', '11 1/4', '1'))
[1]  1.5000000  2.7500000  0.6666667 11.2500000  1.0000000

Esto funciona para la mayoría de los casos que se me ocurren, pero se siente un poco pirateado. ¿Hay una manera más estándar de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta