如标题中所述。
我正在研究Datacamp R教程,发现其中的说明是...。
更烦人的疏忽之一是,许多基本函数从未定义或解释过,其中包括print()和paste()函数。有时候我可以使用一个,而有时候可以使用另一个,现在对我来说这似乎是完全随机的。
我在互联网上搜寻了一个明确的答案,但很简短。
我将重申我的问题:
何时可以使用print()函数,何时必须在括号中插入粘贴函数print(paste())?
答案 0 :(得分:3)
如果您在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 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"
。当然,如果您在R控制台上输入paste
命令,因为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"