使用库MASS中的函数fractions
,我可以将小数转换为分数:
> fractions(.375)
[1] 3/8
但是如何提取分子和分母呢? fractions
的帮助提到了属性“fracs”,但我似乎无法访问它。
答案 0 :(得分:7)
分数的字符表示存储在属性中:
x <- fractions(0.175)
> strsplit(attr(x,"fracs"),"/")
[[1]]
[1] "7" "40"
答案 1 :(得分:4)
您可以通过以下方式从分数对象中获取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