sagemath:将 R 元素转换为浮点数

sagemath: convert R Element to float

如何提取 R 元素的数字部分?

我在 sagemath 中使用 R 接口。我想获得 float 或 int 值。

我有一个 R 元素,它是 class sage.interfaces.r.RElement 的一个对象,它包含一个我想提取的值。

例如,给定以下元素:

 x = [1] 6.5

如何将 6.5 值提取为浮点数?

float(x) 

无效。

float(str(x).split()[1])

看起来太粗糙了。

对于任何有兴趣生成示例 R 元素的人,我可以在 a sagemathcell 中使用以下代码完成:

aList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
fences = r.quantile(aList)
x = fences[[3]]
print (type(x))
print (x)

您可以使用 x.sage()x 转换回 Sage 中的浮点数。

如果x定义为问题中的:

sage: s = x.sage()
sage: s
6.5
sage: type(s)
<type 'float'>