Преобразовать вектор символов из смешанных чисел, дробей и целых чисел в числовые

Я пытаюсь написать функцию R для преобразования дробных и смешанных чисел в десятичные. например

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

Это работает для большинства случаев, о которых я могу думать, но кажется немного хакерским. Есть ли более стандартный способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос