R 如何将数据帧输出包含在警告和错误中?

R 如何将数据帧输出包含在警告和错误中?,r,error-handling,R,Error Handling,如何在消息、警告或错误中包含阵列或数据帧输出 默认情况下,输出是通过对每列进行折叠而折叠的,这是没有用的。下面是一个使用数据集的示例 message(cars) ## c(4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20

如何在消息、警告或错误中包含阵列或数据帧输出

默认情况下,输出是通过对每列进行折叠而折叠的,这是没有用的。下面是一个使用数据集的示例

message(cars)
## c(4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 22, 23, 24, 24, 24, 24, 25)c(2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26, 54, 32, 40, 32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, 64, 66, 54, 70, 92, 93, 120, 85)

打印输出,使用重新捕获,然后折叠成一个由换行符分隔的字符串

print_and_capture <- function(x)
{
  paste(capture.output(print(x)), collapse = "\n")
}

message(print_and_capture(cars))
##    speed dist
## 1      4    2
## 2      4   10
## # etc.

stop("An error was found in the cars dataset:\n", print_and_capture(cars))
## Error: An error was found in the cars dataset:
##    speed dist
## 1      4    2
## 2      4   10
## # etc.
打印和捕获