6

使用fractions库 MASS 中的函数,我可以将小数转换为分数:

> fractions(.375)
  [1] 3/8

但是那么我如何提取分子和分母呢?的帮助fractions提到了一个属性“fracs”,但我似乎无法访问它。

4

2 回答 2

8

分数的字符表示存储在属性中:

x <- fractions(0.175)
> strsplit(attr(x,"fracs"),"/")
[[1]]
[1] "7"  "40"
于 2013-02-11T20:19:52.017 回答
4

您可以通过fracs以下方式从您的 fraction 对象中获取属性,但它只是您的 fraction 的字符表示:

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
于 2013-02-11T20:21:38.757 回答