Rx.DataFrame (rx v0.1.0)

Copy Markdown View Source

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

column()

@type column() :: [scalar()]

column_name()

@type column_name() :: String.t()

column_type()

@type column_type() :: :logical | :integer | :double | :character

scalar()

@type scalar() :: boolean() | integer() | float() | String.t() | Rx.NA.t()

t()

@type t() :: %Rx.DataFrame{
  columns: %{required(column_name()) => column()},
  n_rows: non_neg_integer(),
  names: [column_name()],
  types: %{required(column_name()) => column_type()}
}

Functions

from_r(object, opts \\ [])

@spec from_r(
  Rx.Object.t(),
  keyword()
) :: {:ok, t() | map() | [map()]} | {:error, term()}

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.

from_r!(object, opts \\ [])

@spec from_r!(
  Rx.Object.t(),
  keyword()
) :: t() | map() | [map()]

Converts an R data frame object to Rx.DataFrame data, raising on errors.

to_r(data, opts \\ [])

@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.

to_r!(data, opts \\ [])

@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.