печать
Если вы находитесь в консоли R, то результат любого введенного вами выражения печатается автоматически, поэтому вам не нужно указывать print
, поэтому они одинаковы:
# same when typed into the R console
32
## [1] 32
print(32)
## [1] 32
однако, автоматическая печать не выполняется в сценариях R, в функциях R или в любом контексте, где она находится в теле более крупного выражения, например в цикле for
или while
. Таким образом, для печати 32
изнутри функции используйте print
. В этих случаях ничего не было бы напечатано, если бы мы не использовали print
.
f <- function() {
print(32)
}
x <- f()
## [1] 32
for(i in 1:3) print(32)
## [1] 32
## [1] 32
## [1] 32
Обратите внимание, что print
распечатывает один объект. Если вы хотите распечатать несколько объектов, вы можете использовать несколько операторов print или объединить объекты в один более крупный объект. Например,
# print A and then print B
"A"
## [1] "A"
"B"
## [1] "B"
paste("A", "B", sep = ",") # create single char string and print it
## [1] "A,B"
c("A", "B") # create vector of two elements and print it out
## [1] "A" "B"
Существует также cat
.
x <- "A"
y <- "B"
cat("x:", x, "y:", y, "\n")
## x: A y: B
паста
paste
не имеет ничего общего с печатью. Его функция заключается в получении аргументов и создании из них символьной строки, поэтому paste("A", "B")
создает символьную строку "A B"
Конечно, если вы введете команду paste
на консоли R, поскольку R выводит значение любого выражения, введенного в нее, результат вставки будет распечатан. Вот несколько примеров автоматической печати, если предположить, что эти выражения набраны в консоли R.
# assume these are typed into the R console
paste("A", "B") # R automatically prints result of paste
## [1] "A B"
paste(32) # 32 is converted to character; then R automatically prints it
## [1] "32"