Есть ли способ распечатать текст и содержимое переменных в одной строке? Например,
wd <- getwd()
print("Current working dir: ", wd)
Я не мог найти ничего о синтаксисе, который позволил бы мне это сделать.
Вы можете использовать paste
с print
print(paste0("Current working dir: ", wd))
или cat
cat("Current working dir: ", wd)
Там также sprintf()
:
sprintf("Current working dir: %s", wd)
Для вывода на консольный вывод используйте cat()
или message()
:
cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))
Или используя message
message("Current working dir: ", wd)
@agstudy ответ более подходит здесь
Самый простой способ сделать это - использовать paste()
> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"
paste0()
приведет к следующему:
> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"
Обратите внимание, что между строкой и x нет разделителя по умолчанию. Использование пробела в конце строки - это быстрое исправление:
> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"
Затем объедините любую функцию с print()
> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"
или
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
Как заявили другие пользователи, вы также можете использовать cat()
Как и другие пользователи, cat(), вероятно, лучший вариант.
@krlmlr предложил использовать sprintf(), и в настоящее время это третий рейтинг. sprintf() не очень хорошая идея. Из документации R:
Строка формата передается по функции ОС sprintf, а неправильные форматы могут привести к сбою процесса R.
Нет веских оснований использовать sprintf() над cat или другими параметрами.
Вы можете использовать метод paste0 или cat, чтобы объединить строку со значениями переменной в R
Например:
paste0("Value of A : ", a)
cat("Value of A : ", a)
sep = ''
или получите дополнительный пробел.cat()
я получаюNULL
в конце :(