首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的print()和print(-functions())-functions有什么不同?

R中的print()和print(-functions())-functions有什么不同?
EN

Stack Overflow用户
提问于 2019-05-30 21:16:04
回答 1查看 535关注 0票数 1

正如标题中所述。

我正在学习Datacamp R教程,我找到了be....lacking的使用说明。

一个更恼人的疏忽是,许多基本函数从未定义或解释过,其中包括print()和paste()-functions。有时候我可以用一个,有时候用另一个,现在这对我来说完全是随机的。

我在互联网上到处寻找一个明确的答案,但找不到。

我将重申我的问题:

什么时候可以使用print()-function,什么时候必须在括号中插入粘贴函数print(paste())?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 21:41:18

打印

如果您在R控制台上,则会自动打印您键入的任何表达式的结果,因此您不需要指定print,因此它们是相同的:

代码语言:javascript
复制
# same when typed into the R console

32
## [1] 32

print(32)
## [1] 32

但是,自动打印不是在R脚本、R函数或任何上下文中完成的,这些上下文中的打印位于某个较大的表达式的主体内,例如在forwhile循环中。因此,要让32从一个函数中打印,可以使用print。在这些情况下,如果我们没有使用print,什么都不会打印出来。

代码语言:javascript
复制
f <- function() {
  print(32)
}
x <- f()
## [1] 32

for(i in 1:3) print(32)
## [1] 32
## [1] 32
## [1] 32

请注意,print打印出单个对象。如果您想打印出几个对象,您可以使用几个print语句,或者将这些对象组合成一个较大的对象。例如,

代码语言:javascript
复制
# 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

代码语言:javascript
复制
x <- "A"
y <- "B"
cat("x:", x, "y:", y, "\n")
## x: A y: B 

粘贴

paste与打印无关。它的功能是获取参数并从中创建一个字符串,这样paste("A", "B")就可以创建字符串"A B"。当然,如果您在R控制台上输入paste命令,因为R会打印出键入其中的任何表达式的值,那么粘贴的结果也会打印出来。下面是一些自动打印的示例,假设这些表达式被输入到R控制台中。

代码语言:javascript
复制
# 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"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56379103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档