Bah, los comentarios son demasiado pequeños. De todos modos, @Dirk tiene mucha razón.
R no necesita que se le diga que el código comienza en la siguiente línea. Es más inteligente que Python ;-) y continuará leyendo la siguiente línea cada vez que considere la declaración como "no terminada". En realidad, en su caso también pasó a la siguiente línea, pero R toma el retorno como un carácter cuando se coloca entre "".
Eso sí, tendrás que asegurarte de que tu código no esté terminado. Comparar
a <- 1 + 2
+ 3
con
a <- 1 + 2 +
3
Por lo tanto, al distribuir código en varias líneas, debe asegurarse de que R sepa que algo viene, ya sea:
- dejando un soporte abierto, o
- terminando la línea con un operador
Cuando hablamos de cadenas, esto todavía funciona, pero debes tener un poco de cuidado. Puede abrir las comillas y R seguirá leyendo hasta que lo cierre. Pero cada personaje, incluida la nueva línea, se verá como parte de la cadena:
x <- "This is a very
long string over two lines."
x
## [1] "This is a very\nlong string over two lines."
cat(x)
## This is a very
## long string over two lines.
Esa es la razón por la cual en este caso, su código no funcionó: una ruta no puede contener un carácter de nueva línea ( \n
). Por eso también es mejor usar la solución con paste()
o con paste0()
Dirk propuesto.