Bah, komentar terlalu kecil. Ngomong-ngomong, @Dirk benar sekali.
R tidak perlu diberi tahu bahwa kode tersebut dimulai pada baris berikutnya. Ini lebih pintar dari Python ;-) dan hanya akan terus membaca baris berikutnya setiap kali menganggap pernyataan sebagai "belum selesai". Sebenarnya, dalam kasus Anda, ini juga pergi ke baris berikutnya, tetapi R mengambil pengembalian sebagai karakter ketika ditempatkan di antara "".
Ingat, Anda harus memastikan kode Anda belum selesai. Membandingkan
a <- 1 + 2
+ 3
dengan
a <- 1 + 2 +
3
Jadi, saat menyebarkan kode ke beberapa baris, Anda harus memastikan bahwa R mengetahui sesuatu akan datang, baik dengan:
- membiarkan braket terbuka, atau
- mengakhiri baris dengan operator
Saat kita berbicara tentang string, ini masih berfungsi tetapi Anda harus sedikit berhati-hati. Anda dapat membuka tanda kutip dan R akan terus membaca sampai Anda menutupnya. Tetapi setiap karakter, termasuk baris baru, akan dilihat sebagai bagian dari string:
x <- "This is a very
long string over two lines."
x
cat(x)
Itulah alasan mengapa dalam kasus ini, kode Anda tidak berfungsi: jalur tidak boleh berisi karakter baris baru ( \n
). Jadi itu juga mengapa Anda lebih baik menggunakan solusi dengan paste()
atau yang paste0()
diusulkan Dirk.