Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyCvičebnice jazyka R Dokumentace k základním funkcím as.matrix

as.matrix

Matice

matrix {base} Dokumentace R v češtině

Popis

matrix vytvoří matici ze zadané množiny hodnot.

as.matrix pokusí se převést zadaný argument do matice.

is.matrix otestuje, zda zadaný argument je (striktní) matice.

Použití

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
as.matrix(x, ...)

## S3 metoda pro třídu 'data.frame'
as.matrix(x, rownames.force = NA, ...)

is.matrix(x)

Argumenty

data

nepovinný vektor dat (může být seznam či vektor výrazů, což je seznam volání, symbolů apod.). Neatomické objekty R, které náleží určité třídě, jsou převedeny pomocí funkce as.vector a dojde k zániku všech jejich vlastností.

nrow

požadovaný počet řádků.

ncol

požadovaný počet sloupců.

byrow

logický argument. Pokud je FALSE (což je výchozí nastavení), je matice zaplněna po sloupcích, v opačném případě po řádcích.

dimnames

vlastnost dimnames u matice: NULL nebo list o délce 2 udávající názevy řádků, respektive sloupců. Prázdný seznam se považuje za NULL, a seznam o délce 1 za názvy řádků. Pokud je seznam pojmenovaný, budou názvy použity pro pojmenování dimenzí.

x

nějaký R object.

...

další argumenty, které mohou být kopírovány mezi metodami.

rownames.force

logický argument, který udává, zda rownames ve výsledné matici mají být typu řetězců (spíše než NULL). Výchozí nastavení, NA, používá hodnotu NULL pro názvy řádků v případě, že datová tabulka ‘automaticky’ obsahuje názvy řádků nebo že žádné řádky nemá.

Detaily

Pokud není jeden z argumentů nrow nebo ncol uvedený, je učiněn pokus o jeho nalezení na základě délky argumentu data a druhého parametru. Pokud není uveden ani jeden, je navrácena matice o jednom sloupci.

Pokud je v data příliš málo prvků pro vyplnění matice, jsou některé prvky z data použity vícekrát. Pokud má data délku nula, je použito NA vhodného typu pro atomický vektor (0 pro tzv. raw vektor) a NULL pro seznam.

is.matrix navrátí hodnotu TRUE, je-li x vektor a má vlastnost "dim" o délce 2, v jiném případě FALSE. Je třeba poznamenat, že data.frame není dle tohoto testu matice. Funkce je generická: lze vytvářet metody pro konkrétní třídy objektů, viz InternalMethods.

as.matrix je generická funkce. Metoda pro datové tabulky navrátí matici řetězců, pokud obsahují pouze atomické sloupce jakéhokoliv jiného typu než numeric/logical/complex, pro faktory je použita funkce as.vector a pro ostatní ne-řetězcové sloupce format. Ve zbylých případech se postupuje dle převodní hierarchie (logical < integer < double < complex), tzn. datová tabulka typu logical bude převedena na matici stejného typu, datová tabulka smíšeného typu logical-integer bude převedena na matici typu pouze integer apod.

Výchozí metoda pro as.matrix volá as.vector(x), z toho důvodu dojde například k převedení faktorů na vektory řetězců.

Když je převáděn vektor, je výsledkem matice o jednom sloupci, kde názvy vektoru (pokud jsou uvedeny) budou odpovídat názvům řádků matice.

is.matrix je funkce primitive function.

Metoda print u matice navrátí obdélníkové rozvržení s názvy dimenzí či indexy. U seznam, který má strukturu matice, jsou vstupy nenulové délky zobrazeny ve formátu integer,7 značící typ a délku.

Poznámka

V případě, že chcete převést vektor na matici, použijte

  dim(x) <- c(nx, ny)
  dimnames(x) <- list(row_names, col_names)

čímž se vyhnete duplikování x.

Reference

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Příklady

is.matrix(as.matrix(1:10))
!is.matrix(warpbreaks) # data.frame, NE matrix!
warpbreaks[1:10,]
as.matrix(warpbreaks[1:10,]) # použití metody as.matrix.data.frame(.)

## Příklad nastavení názvů řádků a sloupců
mdat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3, byrow = TRUE,
dimnames = list(c("row1", "row2"),
c("C.1", "C.2", "C.3")))
mdat

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity