1.2.3-SNAPSHOT permalink Arrow_down_16x16

Returns an element or subset of the given matrix, or dataset.

Argument:
a matrix object or dataset.

Options:
:rows (default true)
returns all rows by default, can pass a row index or sequence of row indices
:cols (default true)
returns all columns by default, can pass a column index or sequence of column indices
:except-rows (default nil) can pass a row index or sequence of row indices to exclude
:except-cols (default nil) can pass a column index or sequence of column indices to exclude
:filter (default nil)
a function can be provided to filter the rows of the matrix

Examples:
(use 'incanter.datasets)
(def iris (to-matrix (get-dataset :iris)))
(sel iris 0 0) ; first element
(sel iris :rows 0 :cols 0) ; also first element
(sel iris :cols 0) ; first column of all rows
(sel iris :cols [0 2]) ; first and third column of all rows
(sel iris :rows (range 10) :cols (range 2)) ; first two columns of the first 10 rows
(sel iris :rows (range 10)) ; all columns of the first 10 rows

;; exclude rows or columns
(sel iris :except-rows (range 10)) ; all columns of all but the first 10 rows
(sel iris :except-cols 1) ; all columns except the second

;; return only the first 10 even rows
(sel iris :rows (range 10) :filter #(even? (int (nth % 0))))
;; select rows where distance (third column) is greater than 50
(sel iris :filter #(> (nth % 2) 4))

;; examples with datasets
(use 'incanter.datasets)
(def us-arrests (get-dataset :us-arrests))
(sel us-arrests :cols "State")
(sel us-arrests :cols :State)

(sel us-arrests :cols ["State" "Murder"])
(sel us-arrests :cols [:State :Murder])


0 Examples top

Log in to add / edit an example.

See Also top

Log in to add a see also.

Plus_12x12 Minus_12x12 Source incanter/core.clj:211 top

(defmulti sel
"
  Returns an element or subset of the given matrix, or dataset.

  Argument:
    a matrix object or dataset.

  Options:
    :rows (default true)
      returns all rows by default, can pass a row index or sequence of row indices
    :cols (default true)
      returns all columns by default, can pass a column index or sequence of column indices
    :except-rows (default nil) can pass a row index or sequence of row indices to exclude
    :except-cols (default nil) can pass a column index or sequence of column indices to exclude
    :filter (default nil)
      a function can be provided to filter the rows of the matrix

  Examples:
    (use 'incanter.datasets)
    (def iris (to-matrix (get-dataset :iris)))
    (sel iris 0 0) ; first element
    (sel iris :rows 0 :cols 0) ; also first element
    (sel iris :cols 0) ; first column of all rows
    (sel iris :cols [0 2]) ; first and third column of all rows
    (sel iris :rows (range 10) :cols (range 2)) ; first two columns of the first 10 rows
    (sel iris :rows (range 10)) ; all columns of the first 10 rows

    ;; exclude rows or columns
    (sel iris :except-rows (range 10)) ; all columns of all but the first 10 rows
    (sel iris :except-cols 1) ; all columns except the second

    ;; return only the first 10 even rows
    (sel iris :rows (range 10) :filter #(even? (int (nth % 0))))
    ;; select rows where distance (third column) is greater than 50
    (sel iris :filter #(> (nth % 2) 4))

    ;; examples with datasets
    (use 'incanter.datasets)
    (def us-arrests (get-dataset :us-arrests))
    (sel us-arrests :cols \"State\")
    (sel us-arrests :cols :State)

    (sel us-arrests :cols [\"State\" \"Murder\"])
    (sel us-arrests :cols [:State :Murder])


"
(fn [mat & options] [(type mat) (keyword? (first options))]))
Vars in incanter.core/sel: defmulti fn
Used in 0 other vars

Comments top

No comments for sel. Log in to add a comment.