Начиная с help("ls")
, мы можем видеть назначение аргумента all.names
для ls()
, значение по умолчанию которого равно FALSE
:
all.names: a logical value. If ‘TRUE’, all object names are returned.
If ‘FALSE’, names which begin with a ‘.’ are omitted.
Итак, в вашем первом примереls()
не будет печататься .Random.seed
;оно начинается с .
.
Теперь рассмотрим разделы «Значение» файлов справки для load
:
A character vector of the names of objects created, invisibly.
и Paren
:
For ‘(’, the result of evaluating the argument. This has
visibility set, so will auto-print if used at top-level.
Итак, во втором примере load("files.RData")
невидимо возвращает «Вектор символов имен созданных объектов» (даже .Random.seed
), но (
автоматически печатает этот вектор символов, даже включая .Random.seed
.
Что такое .Random.seed
?
Сначала мы можем увидеть, что это , взглянув на help(".Random.seed")
:
‘.Random.seed’ is an integer vector, containing the random number
generator (RNG) *state* for random number generation in R. It can
be saved and restored, but should not be altered by the user.
Он появится в вашей глобальной среде каждый раз, когда вы используете один из генераторов псевдослучайных чисел R.Например, в новом сеансе R я могу сделать следующее:
x <- 1
ls(all.names = TRUE)
# [1] "x"
rnorm(1)
# [1] 2.378572
ls(all.names = TRUE)
# [1] ".Random.seed" "x"
Затем я могу сохранить любой или все эти объекты R через save()
:
save(x, file = "one.RData")
save(.Random.seed, file = "two.RData")
save(x, .Random.seed, file = "all.RData")
# or, equivalently in this case,
# save(list = ls(all.names = TRUE), file = "all.RData")
ЕслиЯ использую save.image()
, все, что в моей глобальной среде сохраняется, даже файлы, начинающиеся с .
- в соответствии с файлом справки это ярлык для save(list = ls(all.names = TRUE), file = ".RData", envir = .GlobalEnv)
.
Такгде бы вы ни получили files.RData
, они либо использовали save.image()
, либо намеренно включили свой объект .Random.seed
при сохранении files.RData
.