These functions create type objects corresponding to Arrow types. Use them
when defining a schema() or as inputs to other types, like struct. Most
of these functions don't take arguments, but a few do.
int8()int16()
int32()
int64()
uint8()
uint16()
uint32()
uint64()
float16()
halffloat()
float32()
float()
float64()
boolean()
bool()
utf8()
large_utf8()
binary()
large_binary()
fixed_size_binary(byte_width)
string()
date32()
date64()
time32(unit = c("ms", "s"))
time64(unit = c("ns", "us"))
null()
timestamp(unit = c("s", "ms", "us", "ns"), timezone = "")
decimal(precision, scale)
struct(...)
list_of(type)
large_list_of(type)
fixed_size_list_of(type, list_size)
byte width for FixedSizeBinary type.
For time/timestamp types, the time unit. time32() can take
either "s" or "ms", while time64() can be "us" or "ns". timestamp() can
take any of those four values.
For timestamp(), an optional time zone string.
For decimal(), precision
For decimal(), scale
For struct(), a named list of types to define the struct columns
For list_of(), a data type to make a list-of-type
list size for FixedSizeList type.
An Arrow type object inheriting from DataType.
A few functions have aliases:
utf8() and string()
float16() and halffloat()
float32() and float()
bool() and boolean()
When called inside an arrow function, such as schema() or cast(),
double() also is supported as a way of creating a float64()
date32() creates a datetime type with a "day" unit, like the R Date
class. date64() has a "ms" unit.
uint32 (32 bit unsigned integer), uint64 (64 bit unsigned integer), and
int64 (64-bit signed integer) types may contain values that exceed the
range of R's integer type (32-bit signed integer). When these arrow objects
are translated to R objects, uint32 and uint64 are converted to double
("numeric") and int64 is converted to bit64::integer64. For int64
types, this conversion can be disabled (so that int64 always yields a
bit64::integer64 object) by setting options(arrow.int64_downcast = FALSE).
dictionary() for creating a dictionary (factor-like) type.
# NOT RUN {
bool()
struct(a = int32(), b = double())
timestamp("ms", timezone = "CEST")
time64("ns")
# }
Run the code above in your browser using DataLab