[R] c

Zkombinování hodnot do vektoru nebo seznamu

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

Popis

Jde o generickou funkci, která kombinuje dohromady své argumenty.

V základní podobě kombinuje funkce své argumenty do vektoru. Všechny argumenty jsou sjednoceny na stejný datový typ, který je datovým typem výstupním, všechny atributy kromě názvů jsou zanedbány.

Použití

c(..., recursive = FALSE)

Argumenty

... objekty ke zkombinování
recursive logická hodnota. Pokud recursive = TRUE, funkce postupně prochází seznamy a párové seznamy (list a pairlist) a kombinuje všechny jejich prvky do vektoru.

Podrobnosti

Výstupní datový typ je určen nejvyšším datovým typem jednotlivých komponent ve smyslu hierarchie NULL < raw < logical < integer < double < complex < character < list < expression. Párové seznamy (pairlist) jsou považovány za seznamy (list), nicméně nevektorové komponenty (např. jména či volání) jsou považovány za jednoprvkové seznamy, jež není možné převést pomocí funkce unlist a to ani v případě, kdy recursive = TRUE.

Funkce c bývá někdy využívána vzhledem k tomu, že jako vedlešjí efekt odebírá atributy kromě jmen (např. při změně pole na vektor). Funkce as.vector je sice intuitivnější způsob takového převedení, nicméně odstraňuje i jména. Za povšimnutí stojí, že pro takové převedení není zapotřebí jiných než základních metod (a ty víceméně s jistotou zachovají atribut class).

Funkce je primitivní.

Hodnota

NULL nebo výraz nebo vektor dle příslušného módu. (Bez jediného argumentu funkce vrací hodnotu NULL.)

Metoda S4

Funkce je S4 generická, kromě případu (x, ..., recursive = FALSE).

Reference

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

Viz také

unlist and as.vector to produce attribute-free vectors.

Příklady

c(1,7:9)
c(1:5, 10.5, "next")

## pouziti s jedinym argumentem pro odstraneni atributu
x <- 1:4
names(x) <- letters[1:4]
x
c(x) # se jmeny
as.vector(x) # beze jmen
dim(x) <- c(2,2)
x
c(x)
as.vector(x)

## zkombinuje do seznamu:
ll <- list(A = 1, c = "C")
## nepouzivat
c(ll, d = 1:3) # which is == c(ll, as.list(c(d = 1:3))
## lepsi varianta
c(ll, d = list(1:3)) # c() combining two lists

c(list(A = c(B = 1)), recursive = TRUE)

c(options(), recursive = TRUE)
c(list(A = c(B = 1, C = 2), B = c(E = 7)), recursive = TRUE)

 
Článek ze dne 17. 3. 2015 byl naposledy upraven dne 27. 10. 2016 a zobrazen celkem 12314×, naposledy dne 10. 4. 2024 v 8:12.
 
 

Komentáře:

Jméno autora:
Email (nebude zveřejněn):
Komentář:
Sem napiš slovo Adamov:




Stránka:
 
Citace: Kalina, J., Horáková, D., Kuchař, J., Správným směrem [online]. Jiří Kalina, 2014 [cit. 2024-04-20]
Dostupné z: http://spravnym.smerem.cz/Tema/%5bR%5d%20c&typzarizeni=c.
 
Desktopová verze | Mobilní verze