sagemath:将R Element转换为float

时间:2018-03-29 06:36:16

标签: python r sage

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

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

我有一个R元素,它是类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)

1 个答案:

答案 0 :(得分:1)

您可以使用xx.sage()转换回Sage中的浮动。

如果问题中定义了x

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