`obj_addr` не возвращает ожидаемый результат в файле .Rmd - PullRequest
1 голос
/ 19 апреля 2019

Я работаю с главой Имена и Значения главы книги Хэдли Advance R и пытаюсь представить принцип "изменить на месте" в моем отрендеренном файле RMarkdown.

Если язапустите следующее в RStudio

library(lobstr)

v <- c(1, 2, 3)
obj_addr(v)
#> [1] "0x7fe6d48ff6f8"
v[[3]] <- 4
obj_addr(v)
#> [1] "0x7fe6d495cd78"

Я получаю другое obj_addr для v.Я полагаю, что это потому, что

"... панель среды должна делать ссылку на каждый объект для отображения информации о нем. Это искажает ваше интерактивное исследование, но не влияет на код внутри функцийи поэтому не влияет на производительность во время анализа данных. Для экспериментов я рекомендую либо запускать R напрямую из терминала, либо использовать RMarkdown "

Когда я запускаю его непосредственно в R, я получаю ожидаемый результат.

library(lobstr)

v <- c(1, 2, 3)
obj_addr(v)
#> [1] "0x7f9bb683e138"
v[[3]] <- 4
obj_addr(v)
#> [1] "0x7f9bb683e138"

Объект с одной привязкой, который был изменен на месте и, таким образом, имеет тот же адрес объекта.

Однако, когда я рендерил свой файл .Rmd в файл htmlмой вывод такой же, как если бы я выполнял код в интерактивном режиме в RStudio.Почему это не согласуется с предложением Хэдли?

Я рекомендую либо запускать R непосредственно из терминала, либо использовать RMarkdown

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...