ライブラリMASSの関数を使用してfractions
、小数を分数に変換できます。
> fractions(.375)
[1] 3/8
しかし、分子と分母を抽出するにはどうすればよいですか?ヘルプにfractions
「fracs」という属性が記載されていますが、アクセスできないようです。
分数の文字表現は、次の属性に格納されます。
x <- fractions(0.175)
> strsplit(attr(x,"fracs"),"/")
[[1]]
[1] "7" "40"
fracs
次の方法で分数オブジェクトから属性を取得できますが、これは分数の文字表現にすぎません。
x <- fractions(.375)
attr(x, "fracs")
# [1] "3/8"
分子と分母の値にアクセスする場合は、次の関数を使用して文字列を分割できます。
getfracs <- function(frac) {
tmp <- strsplit(attr(frac,"fracs"), "/")[[1]]
list(numerator=as.numeric(tmp[1]),denominator=as.numeric(tmp[2]))
}
この方法で使用できるもの:
fracs <- getfracs(x)
fracs$numerator
# [1] 3
fracs$denominator
# [1] 8