Operator "[<-" in RStudio und R

Durch Zufall bin ich auf seltsames Verhalten gestoßen"[<-" Operator. Es verhält sich abhängig von der Reihenfolge der Aufrufe und davon, ob ich RStudio oder nur gewöhnliches RGui verwende, unterschiedlich. Ich werde mich mit einem Beispiel klarstellen.

x <- 1:10
"[<-"(x, 1, 111)
x[5] <- 123

Soweit ich weiß, sollte sich die erste Aufgabe nicht ändernx (oder vielleicht irre ich mich?), während die zweite tun sollte. Und tatsächlich ist das Ergebnis der obigen Operationen

x
[1]  1  2  3  4  123  6  7  8  9 10

Wenn wir diese Vorgänge jedoch in unterschiedlicher Reihenfolge ausführen, sind die Ergebnisse unterschiedlich undx hat sich verändert! Sinnvoll:

x <- 1:10
x[5] <- 123
"[<-"(x, 1, 111)
x
[1] 111   2   3   4   123   6   7   8   9  10

Aber es passiert nur, wenn ich normales R benutze! In RStudio ist das Verhalten in beiden Optionen gleich. Ich habe es auf zwei Rechnern überprüft (einer mit Fedora und einer mit Win7) und die Situation sieht genauso aus. Ich kenne die "funktionale" Version ("[<-"(x..)) wird wahrscheinlich nie benutzt, aber ich bin sehr gespannt, warum es passiert. Könnte jemand das erklären?

=========================

EDIT: Ok, also aus Kommentaren bekomme ich, dass der Grund dafür warx <- 1:10 hat den Typ 'integer' und nach dem Ersetzenx[5] <- 123 es ist 'doppelt'. Bleibt aber noch die Frage, warum sich RStudio anders verhält? Ich starte die R-Sitzung neu und es ändert sich nichts.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage