【问题标题】:Ability to print a message in R console to indicate function is successful?能够在 R 控制台中打印消息以指示功能成功吗?
【发布时间】:2020-05-13 03:50:53
【问题描述】:

假设我有一个要在 R 中运行的简单函数。如果该函数成功运行,我希望 R 控制台打印类似于“函数运行成功”的消息,如果没有,R 使用它的正常的错误或警告消息来解释该功能的问题。有没有办法做到这一点?

【问题讨论】:

标签: r


【解决方案1】:

您可以使用messagecatprint。如果您使用message,其他人可以选择调用用suppressMessages() 包装的函数。 cat 无论如何都会打印到终端。此外,如果您想要 CRLF,则必须以 \n 结束 cat

消息以红色打印。

message("Function Ran Successfully")
cat("Function Ran Successfully\n")

如果您想要彩色消息,请使用 crayon

cat(crayon::green$bold("Function Ran Successfully\n"))

print 如果您想打印出一个结构,而不仅仅是一个字符串,则特别有用。

print(head(iris, 2))
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa

【讨论】:

  • 如果函数失败,它会打印标准 R 错误消息,还是我需要为函数失败指定一条消息?我要做的只是创建一条成功消息,但不会更改 R 的任何内容,如果它是错误的。
  • 这取决于你所说的“失败”是什么意思。如果它失败了,比如说,除以 0,或者取字符串的平方根 - 是的,你会得到一个错误信息。如果它通过返回一个空数据框而失败,(你不想要的)你需要指定消息。我喜欢用绿色表示我的成功信息。
【解决方案2】:
fun <- function(num) {
  #code here

  num = as.integer(readline(prompt="Enter a number: "))

  if (num>0){ print("positive number")}
  else if (num<0){ print("negative number")}
  else { print("zero")}
}  
fun()

运行fun()并在控制台中输入一个值。

这是一个带有嵌套循环的示例,如果您正在创建自己的功能(在其他情况下除了这个词之外),也许这就是您想要的,如果不让我知道,我会删除这个答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多