Apakah ada cara untuk mencetak teks dan konten variabel pada baris yang sama? Sebagai contoh,
wd <- getwd()
print("Current working dir: ", wd)
Saya tidak dapat menemukan apa pun tentang sintaks yang memungkinkan saya melakukan ini.
Anda bisa menggunakannya paste
bersamaprint
print(paste0("Current working dir: ", wd))
atau cat
cat("Current working dir: ", wd)
sep = ''
atau Anda akan mendapatkan ruang ekstra.cat()
saya mendapatkanNULL
di akhir :(print(cat("test", var))
yang seharusnyacat("test", var)
Ada juga
sprintf()
:Untuk mencetak ke output konsol, gunakan
cat()
ataumessage()
:sumber
sprintf
tidak mencetak, itu hanya memformat string. Sesuatu seperti cetak (sprintf (...)) diperlukan di dalam skrip.Atau menggunakan
message
@ agstudy menjawab lebih cocok di sini
sumber
Cara termudah untuk melakukan ini adalah menggunakan
paste()
paste0()
akan menghasilkan yang berikut:Perhatikan tidak ada pemisah default antara string dan x. Menggunakan spasi di akhir string adalah perbaikan cepat:
Kemudian gabungkan kedua fungsi dengan
print()
Atau
Seperti yang dinyatakan oleh pengguna lain, Anda juga bisa menggunakan
cat()
sumber
Paket {lem} menawarkan interpolasi string. Dalam contoh ini,
{wd}
diganti dengan isi variabel. Ekspresi kompleks juga didukung.Dibuat pada 2019-05-13 oleh paket reprex (v0.2.1)
Perhatikan bagaimana hasil cetak tidak mengandung
[1]
artefak dan"
tanda kutip, yang digunakan jawaban laincat()
.sumber
Seperti kata pengguna lain, cat () mungkin merupakan opsi terbaik.
@ krlmlr disarankan menggunakan sprintf () dan saat ini merupakan jawaban peringkat ketiga. sprintf () bukan ide yang baik. Dari dokumentasi R:
Tidak ada alasan bagus untuk menggunakan sprintf () di atas kucing atau opsi lain.
sumber
Anda dapat menggunakan metode paste0 atau cat untuk menggabungkan string dengan nilai variabel di R
Sebagai contoh:
sumber