I think one of the interesting "features" in R is that you use (or at least it is considered good practice) to assign objects to symbols using <- rather than =. The latter is often interpreted as checking for equality (e.g., in SQL) which is fundamentally different from assignment. The way I think about it is that assignment is using a symbol on the left hand side of <- as the key for some object on the right hand side of the <- (e.g., a data frame), in a way it allows us to access that object, until (if) we reassign it. On a deeper level it also has to do with environments, as x in one environment can be very different from an x in a different environment, but I guess that something to mention further down the line - even though this becomes very relevant once you might want to introduce functions which create their temporary environments while executing.
By the way, I just decided to test something out and interestingly you can do the following:
"x" <- 1
"x" + 1
#> Error in "x" + 1: non-numeric argument to binary operator
Created on 2019-09-08 by the reprex package (v0.3.0)
The first line executes without an error and R interprets "x"as a symbol in the assignment, but when I try "x" + 1, "x" is intepreted as string literal and an error is raised. Wouldn't it be more "correct" if an error is thrown already at "x" <- 1 as we shouldn't be able to assign a value to a string literal?