在 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