在 nanoarrow 中,“模式”指的是 Arrow C 数据接口中定义的 struct ArrowSchema。此数据结构可用于表示 arrow::schema()、arrow::field() 或 arrow::DataType。请注意,在 nanoarrow 中,arrow::schema() 和不可为空的 arrow::struct() 的表示方式相同。
用法
as_nanoarrow_schema(x, ...)
infer_nanoarrow_schema(x, ...)
nanoarrow_schema_parse(x, recursive = FALSE)
nanoarrow_schema_modify(x, new_values, validate = TRUE)示例
infer_nanoarrow_schema(integer())
#> <nanoarrow_schema int32>
#> $ format : chr "i"
#> $ name : chr ""
#> $ metadata : list()
#> $ flags : int 2
#> $ children : list()
#> $ dictionary: NULL
infer_nanoarrow_schema(data.frame(x = integer()))
#> <nanoarrow_schema struct>
#> $ format : chr "+s"
#> $ name : chr ""
#> $ metadata : list()
#> $ flags : int 0
#> $ children :List of 1
#> ..$ x:<nanoarrow_schema int32>
#> .. ..$ format : chr "i"
#> .. ..$ name : chr "x"
#> .. ..$ metadata : list()
#> .. ..$ flags : int 2
#> .. ..$ children : list()
#> .. ..$ dictionary: NULL
#> $ dictionary: NULL