R, глубокие и поверхностные копии, передача по ссылке

Я хотел бы понять логику, которую R использует при передаче аргументов функциям, создании копий переменных и т. д. в отношении использования памяти. Когда он на самом деле создает копию переменной, а не просто передает ссылку на эту переменную? В частности, меня интересуют следующие ситуации:

f <- function(x) {x+1}
a <- 1
f(a)

Передается ли aбуквально или это ссылка на передаваемое существо?

x <- 1
y <- x

Ссылка на копию? Когда это не так?

Если бы кто-то мог объяснить мне это, я был бы очень признателен.

18
задан Matt Dowle 21 May 2012 в 15:35
поделиться