Ба, коментарів занадто мало. У будь-якому випадку, @Dirk дуже прав.
R не потрібно говорити, що код починається з наступного рядка. Він розумніший за Python ;-) і просто продовжить читати наступний рядок, коли він вважатиме твердження "не закінченим". Насправді у вашому випадку він також перейшов до наступного рядка, але R приймає повернення як символ, коли він розміщений між "".
Майте на увазі, вам доведеться переконатися, що ваш код не закінчений. Порівняйте
a <- 1 + 2
+ 3
з
a <- 1 + 2 +
3
Отже, поширюючи код на кілька рядків, ви повинні переконатися, що R знає, що щось відбувається:
- залишаючи кронштейн відкритим, або
- закінчення рядка з оператором
Коли ми говоримо за рядками, це все ще працює, але потрібно бути обережним. Ви можете відкрити лапки, і R читатиметься, поки ви не закриєте його. Але кожен символ, включаючи новий рядок, буде розглядатися як частина рядка:
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.
Ось чому в цьому випадку ваш код не працював: шлях не може містити символ нового рядка ( \n
). Отож, саме тому вам краще скористатися запропонованим рішенням paste()
або paste0()
Дирком.