跳转至内容

Scalar 对象包含 Arrow 类型的单个值。

工厂方法

Scalar$create() 工厂方法用于实例化 Scalar 对象,并接受以下参数:

  • x:一个 R 向量、列表或 data.frame

  • typex 的可选 数据类型。如果省略,将从数据推断类型。

用法

a <- Scalar$create(x)
length(a)

print(a)
a == a

方法

  • $ToString():转换为字符串

  • $as_vector():转换为 R 向量

  • $as_array():转换为 Arrow Array 对象

  • $Equals(other):此标量是否等于 other

  • $ApproxEquals(other):此标量是否约等于 other

  • $is_valid:此标量是否有效

  • $null_count:无效值的个数 - 1 或 0

  • $type:标量类型

  • $cast(target_type, safe = TRUE, options = cast_options(safe)):将值转换为不同的类型

示例

Scalar$create(pi)
#> Scalar
#> 3.141592653589793
Scalar$create(404)
#> Scalar
#> 404
# If you pass a vector into Scalar$create, you get a list containing your items
Scalar$create(c(1, 2, 3))
#> Scalar
#> list<item: double>[1, 2, 3]

# Comparisons
my_scalar <- Scalar$create(99)
my_scalar$ApproxEquals(Scalar$create(99.00001)) # FALSE
#> [1] FALSE
my_scalar$ApproxEquals(Scalar$create(99.000009)) # TRUE
#> [1] TRUE
my_scalar$Equals(Scalar$create(99.000009)) # FALSE
#> [1] FALSE
my_scalar$Equals(Scalar$create(99L)) # FALSE (types don't match)
#> [1] FALSE

my_scalar$ToString()
#> [1] "99"