Arrow 格式提供了一个丰富的类型系统,可以处理大多数 R 向量类型;但是,许多 R 向量类型无法完美地通过 Arrow 内存进行往返转换。vctrs 扩展类型使用 vctrs::vec_data()
、vctrs::vec_restore()
和 vctrs::vec_ptype()
在调用 as_nanoarrow_array()
和 convert_array()
时,以确保往返转换的保真度。
参数
- 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"