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

as.list

Seznamy - obecné a tečkové páry

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

Popis

Funkce umožnují sestavovat, převádět a kontrolovat oba typy seznamů R.

Použií

list(...)
pairlist(...)
as.list(x, ...)

## S3 metoda pro třídu 'prostředí'
as.list(x, all.names = FALSE, sorted = FALSE, ...)
as.pairlist(x)

is.list(x)
is.pairlist(x)

alist(...)

Argumenty

...

objekty, třeba i pojmenované.

x

objekt, který má být otestován nebo převeden.

all.names

logický argument, který značí, zda se mají kopírovat všehcny hodnoty nebo pouze ty, jejichž názvy nezačínají tečkou (výchozí nastavení).

sorted

logický argument, který značí, zda mají být names výsledného seznamu vzestupně uspořádány.

Detaily

Téměř všechny seznamy jsou uvnitř R internally generické vekotry, whereas tradiční seznam tečkových párů (jako v LISP) je k dispozici, ovšem uživatelé si jej zobrazují zřídka (výjimkou je formals používané pro funkce).

Argumenty k list nebo pairlist jsou ve tvaru value nebo tag = value. Funkce navrací seznam nebo seznam tečkových párů tvořených zadanými argumenty, kde jsou hodnoty buď tagovány nebo netagovány podle tvaru, v jakém byl argument zadán.

alist pracuje se svými argumenty tak, jakoby popisovali argumenty funkce. Argumenty, zadány jako hodnoty, nejsou vyhodnoceny a jsou povolené taggované argumenty bez hodnoty, zatímco funkce list je ignoruje. alist je často používaná ve spojitosti s formals.

Funkce as.list se pokusí převést její argument na seznam. U funkcí je navrácen zřetězený seznam formálních argumentů a tělo funkce. U výrazů je navrácen seznam jednotlivých prvků. as.list je generická funkce a jako výchozí metodu volá as.vector(mode = "list"), tedy mohou být uplatněny metody pro as.vector. as.list převádí faktor na seznam jednoprvkových faktorů. Vlastnosti mohou být ztraceny, není-li argument již seznam nebo výraz. (Je zde odlišnost od některých funkcí jako například as.character, kdy dojde vždy ke ztrátě vlastností).

is.list navrátí TRUE, pokud je argument seznam nebo párový seznam o délce length > 0. is.pairlist navrátí TRUE, pokud je argument párový seznam, nebo NULL (viz níže).

Metoda "environment" kopíruje pro as.list páry název-hodnota (názvy, které nezačínají tečkou) z prostředí do jmenného seznamu. Uživatel může zažádat, aby byly překopírovány všechny pojmenované objekty. Pokud není sorted = TRUE, seznam není v žádném určitém pořadí (vzniklé pořadí se odvíjí podle toho, jak objekty vznikaly a jestli bylo prostředí hešované). Žádná přidružená prostředí nejsou hledána. (Kopírované objekty jsou nejdříve zdvojeny, proto se může jednat o náročnější operaci.) Povšimněte si možné inverzní operace, metoda as.environment() pro seznamy.

V případě prázdného párového seznamu je pairlist() stejný jako NULL. Je to rozdíl oproti list(): některé (ne všechny) operace budou píše podporovat prázný párový seznam nežli prázdný seznam.

as.pairlist je implementován jako as.vector(x, "pairlist"), a tedy vyšle metodu pro generickou funkci as.vector. Seznamy jsou kopírovány prvek po prvku do párového seznamu. Názvy seznamu se použijí jako tagy pro párový seznam.

list, is.list a is.pairlist jsou funkce primitive functions.

Reference

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

Viz také

vector("list", length) pro vytvoření seznamu s prázdnými komponentami; c pro zřetězení; formals. unlist je přibližně obrácená as.list().

‘plotmath’ pro použití seznamu v anotaci grafu.

Příklady

require(graphics)
# vytvořit strukturu, kterou lze zobrazit graficky pts <- list(x = cars[,1], y = cars[,2]) plot(pts) is.pairlist(.Options)
# párový seznam na uživatleské úrovni
## "pre-alokace" prázdného listu s délkou 5 vector("list", 5) # Seznam argumentů f <- function() x
# Berte v úvahu specifikum argumentu "..." : formals(f) <- al <- alist(x = , y = 2+3, ... = ) f al
## převod prostředí->seznam e1 <- new.env() e1$a <- 10 e1$b <- 20 as.list(e1)

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