Quando creo alcune serie A e assegnarlo a BCreazione di copie a Julia con operatore =
A = [1:10]
B = A
posso modificare A e la variazione riflette in B
A[1] = 42
# B[1] is now 42
Ma se lo faccio con variabili scalari, il cambiamento non si propaga:
a = 1
b = a
a = 2
# b remains being 1
posso anche mescolare le cose e trasformare il vettore a una scala R, e il cambiamento non propaga:
A = [1:10]
B = A
A = 0
# B remains being 1,2,...,10
Che cosa fa esattamente l'operatore =
fa? Quando voglio copiare le variabili e modificare quelle vecchie preservando l'integrità delle nuove variabili, quando dovrei usare b = copy(a)
su solo b=a
?
Sulla base della vostra anticipazione dei risultati riflessi dalla domanda, il linguaggio R può darvi meno sorpresa. – colinfang