Arrow 格式提供了一个丰富的类型系统,可以处理大多数 R 向量类型;然而,许多 R 向量类型在 Arrow 内存中不能完美地往返。vctrs 扩展类型在调用 as_nanoarrow_array() 和 convert_array() 时使用 vctrs::vec_data()、vctrs::vec_proxy() 和 vctrs::vec_ptype(),以确保往返保真度。
参数
- ptype
一个由
vctrs::vec_ptype()返回的 vctrs 原型。该原型可以具有任意大小,但此处零大小的向量就足够了。- storage_type
对于
na_extension(),指底层值类型。
返回值
一个 nanoarrow_schema。
示例
vctr <- as.POSIXlt("2000-01-02 03:45", tz = "UTC")
array <- as_nanoarrow_array(vctr, schema = na_vctrs(vctr))
infer_nanoarrow_ptype(array)
#> POSIXlt of length 0
convert_array(array)
#> [1] "2000-01-02 03:45:00 UTC"