У меня есть унаследованный код R, который использует идиому, чтобы избежать копирования больших фреймов данных. Когда функция, которая строит фрейм данных, завершает свою работу, она не возвращает фрейм данных, а сохраняет ее в глобальном контексте среды:
assign(df_name, df, envir = globalenv())
После завершения функции вызывающий код извлекает фрейм данных следующим образом:
df <- get(df_name, envir = globalenv())
Мой вопрос таков: действительно ли сама функция get()
делает копию, когда возвращает значение, создавая, таким образом, ту самую копию, которой эта идиома должна была избежать? Если так, есть ли лучший способ сделать это?