分数と混合数を小数に変換する 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
これは、私が考えることができるほとんどの場合に機能しますが、少しハックな気がします。これを行うためのより標準的な方法はありますか?