In-memory representation for data frames encoded without Apache Arrow.
The wire shape is intentionally small and explicit so backends can exchange typed column vectors without depending on optional dataframe libraries.
Summary
Functions
Converts an R data frame object to Rx.DataFrame data.
Converts an R data frame object to Rx.DataFrame data, raising on errors.
Encodes Rx.DataFrame data as an R data frame object.
Encodes Rx.DataFrame data as an R data frame object, raising on errors.
Types
@type column() :: [scalar()]
@type column_name() :: String.t()
@type column_type() :: :logical | :integer | :double | :character
@type t() :: %Rx.DataFrame{ columns: %{required(column_name()) => column()}, n_rows: non_neg_integer(), names: [column_name()], types: %{required(column_name()) => column_type()} }
Functions
Converts an R data frame object to Rx.DataFrame data.
The :engine option accepts :arrow, :no_arrow, or :auto. The :as
option accepts :struct, :columns, or :rows.
@spec from_r!( Rx.Object.t(), keyword() ) :: t() | map() | [map()]
Converts an R data frame object to Rx.DataFrame data, raising on errors.
@spec to_r( t() | %{optional(String.t()) => list()}, keyword() ) :: {:ok, Rx.Object.t()} | {:error, term()}
Encodes Rx.DataFrame data as an R data frame object.
@spec to_r!( t() | %{optional(String.t()) => list()}, keyword() ) :: Rx.Object.t()
Encodes Rx.DataFrame data as an R data frame object, raising on errors.