Skip to contents

Move every cell of one category into the unassigned category. A column from the file becomes a new column (the original moves to Deleted fields); a column made in the app is edited in place.

Usage

cellucid_category_delete(viewer, field, category, unassigned_label = "unassigned")

Arguments

viewer

A viewer cellucid_view() or cellucid_serve() returned.

field

A categorical column of the cells by name (source "obs"). A named list. Required.

source

Categories belong to columns of the cells. Exactly "obs". Required.

category

A category label as the legend shows it. Text (at least 1 character). Required.

unassigned_label

The category the cells move into, made when missing. Text (at least 1 character). Default "unassigned", the viewer's own.

Value

A cellucid_action_request, at once and invisibly: the action is sent now, or when the viewer's channel opens. cellucid_action_result(request) returns its outcome (what it did, as names, counts and ids), or NULL when it had nothing to report; request$step is the history step it made.

Details

The viewer's action category.delete (Fields). It changes the viewer's state: one step of the viewer's history, labelled as R's, undone like any other. The state it can change: field-overlays, active-field, filters, colors, highlights, views.

See also

cellucid_act() sends any action by its type, and cellucid_action_result() collects its answer.

Examples

if (interactive() && requireNamespace("SeuratObject", quietly = TRUE)) {
  data("pbmc_small", package = "SeuratObject")
  viewer <- cellucid_view(SeuratObject::UpdateSeuratObject(pbmc_small))
  request <- cellucid_category_delete(viewer, category = "T cells",
      field = list(key = "cell_type", source = "obs"))
  print(request)
  # cellucid_action_result(request) waits for its outcome.
  cellucid_stop(viewer)
}