load
Načítání uložené kolekce dat
load {base} | Dokumentace R v češtině |
Popis
Načtení kolekce dat uložené prostřednictvím funkce save
.
Použití
load(file, envir = parent.frame(), verbose = FALSE)
Argumenty
file |
všeobecný soubor (umožněno čtení i v binárním módu) nebo řetězec znaků, který udává název souboru, který má být načten (pokud je udělána vlnovková expanze). |
envir |
prostředí, do kterého mají být data načtena. |
verbose |
mají být vyznačeny názvy položek při načítání? |
Detaily
load
může načíst R objekty uložené v aktuálním nebo starším formátu. Může načíst i komprimovaný soubor (viz save
) přímo ze souboru či vhodného všeobecného souboru (zahrnuje i volání to url
).
Neotevřený všeobecný soubor bude ptevřen v módu "rb"
a po použití uzavřen. Jakýkoliv všeobecný soubor jiný než gzfile
nebo gzcon
bude tzv. obalený (wrapped) do gzcon
, aby byla umožněna obsluha komprimovaných uložení: je třeba brát na vědomí, že status všeobecného souboru se tímto změní a musí tedy být explicitně uzavřen.
Pouze R objekty uložené v aktuálním formátu (používaném od R 1.4.0) mohou být přečteny z všeobecného souboru. Pokud není ve všeobecném souboru k dispozici žádný vstup, zobrazí se varovné hlášení, pokud však není žádný vstup v aktuálním formátu, je signalizována chyba.
Při načítání ze starších verzí se zobrazí varování o ‘magických číslech’: magická čísla 1971:1977
jsou z verzí R < 0.99.0, a RD[ABX]1
z verzí R 0.99.0 až R 1.3.1. Všechna jsou již obsolentní a je silně doporučeno takové soubory znovu uložit v aktuálním formátu.
Argument verbose
je určený zejména pro debugging. Pokud je TRUE
, zobrazí se v konzole jména objektů načtených ze souboru. Pokud je verbose
celočíselná hodnota větší než jedna, jsou zobrazeny i odpovídající vlastnosti a další části objektů. Čím bude mít argument větší hodnotu, tím budou zobrazena jména více do hloubky.
Objekty mohou být uloženy s odkazy na jmenné prostory, obvykle jako součást prostředí funkce či vzorce. Takové objekty mohou být načteny ikdyž odpovídající jmenné prostory nejsou k dispozici: s varováním se to nahradí odkazem na globální prostředíce. Ve varování je identifikován pouze první takový objekt (může jich však být více).
Hodnota
Vektor řetězců s názvy objektů, neviditelný.
Varování
Uložené R objekty jsou binárními soubory i přes uložení s ascii = TRUE
. Ujistěte se tedy, zda jsou soubory ukládány bez konvertování symbolů pro konec řádku. Funkce load
se snaží takové konverze rozpoznat a zobrazit informační chybové hlášení.
load(<file>)
nahrazuje všechny soubory stejného jména v aktuálním prostředí (typicky pracovní plocha nebo .GlobalEnv
) a tedy může potenciálně přepsat důležitá data. Je tedy mnohem bezpečnější používat envir =
pro načítání do jiného prostředí nebo attach(file)
.
Viz také
save
, download.file
; dále attach
jako tzv. obalovač pro load()
.
Základní serializační formát pro další rozhraní viz unserialize
a readRDS
.
Příklady
## uložení všech dat
xx <- pi # abychom is byli jisti, že tam jsou nějaká data
save(list = ls(all = TRUE), file= "all.rda")
rm(xx)
## zavedení uložené hodnoty do aktuálního prostředí
local({
load("all.rda")
ls()
})
xx <- exp(1:3)
## zavedení aktuální hodnoty na uživatelovu pracovní plochu
load("all.rda") ## což je zde *equivalentní*
## load("all.rda", .GlobalEnv)
## Všechny objekty stejného názvu v .GlobalEnv budou tímto smazány !
xx # exp(1:3)
rm(xx)
attach("all.rda") # bezpěčnější a upozorní na skryté objekty w/ stejného jména v.GlobalEnv
ls(pos = 2)
## typicky je třeba vyčistit cestu hledání:
detach("file:all.rda")
## čištění (pro příklad):
unlink("all.rda")
## Nespouštět:
con <- url("http://some.where.net/R/data/example.rda")
## zobrazí hodnotu o tom, kteréobjekty byly vytvořeny
print(load(con))
close(con) # url() vždy otevírá všeobecný soubor
## Konec(Nespouštět)