跳到內容

Scalar 儲存 Arrow 類型的一個單一值。

工廠方法

Scalar$create() 工廠方法實例化一個 Scalar,並接受以下參數

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

  • type: `x` 的可選資料類型。如果省略,類型將從資料中推斷。

用法

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

print(a)
a == a

方法

  • $ToString(): 轉換為字串

  • $as_vector(): 轉換為 R 向量

  • $as_array(): 轉換為 Arrow Array

  • $Equals(other): 這個 Scalar 是否等於 other

  • $ApproxEquals(other): 這個 Scalar 是否近似等於 other

  • $is_valid: 這個 Scalar 是否有效

  • $null_count: 無效值的數量 - 1 或 0

  • $type: Scalar 類型

  • $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"