R: 控制台的清理与输出内容的保存 (Clear Console & Save Console Output)
来源:互联网 发布:万网中文域名注册 编辑:程序博客网 时间:2024/05/17 19:20
Part1 - 清空控制台
每个用R的人,尤其是像我这样programing 零基础的人,经常在调试自定义程序的时候会在控制台留下一大堆的error 和warning 信息,红彤彤的煞是好看哇有木有,但是为了掩盖自己的菜鸟性质,不让在身后出没的妹子看到满屏的错误,一定得找个办法掩饰啊~那要怎么清空控制台呢?
- 二逼青年:无限按回车键
- 文艺青年:合理应用Concatenate and Print公式cat()与换行符"\n",比如。。。
- cat("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
- cat(rep("\n",100))
- 正常青年:看看R或者RStudio里有木有啥操作键?
- 工具栏 →_→ Edit →_→ Clear Console
- 同样,Clear Console功能键右边提示的快捷键为 Ctrl + L
- 牛逼青年:命令行输入cat("\014") 同样可以实现Ctrl + L的功能
=================================~嘚瑟~嘚瑟~嘚瑟~嘚瑟~的分割线~=================================
Part2 - 保存控制台输出内容
在清空控制台前,如果想把每条输入的命令和命令得到的结果记录下来或者导出到本地,应该用什么方法呢?
- 先把所有的输入命令放到一个script文件中,如test.R.
test <- function(){ for (i in 1:5){ if (i * 2 <5){ warning(paste('when i = ', i, ", I love her!", sep = "")) }else if (i * 2 <9){ message(paste('when i = ', i, ", I love him!", sep = "")) }else{ stop(paste('when i = ', i, ", I love myself!", sep = "")) } } }test()
- 然后用sink()来记录test()的input和output。
- sink()的full set为sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)
- 常用的三个参数为:
- file 赋值为一个可编辑的文件,如果不给file赋值,则默认为不再使用sink()函数
- append = T时,控制台输出的内容会定向(接续)写到file定义的文件中;反之,定向输出到file文件中的内容将覆盖前一次sink()时写入的内容
- type既可以是输入命令在控制台中的output,也可以是命令随之产生的message (message, warning, error, etc.)
- sink()的full set为sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)
con <- file("test.log") # 创建一个.log文件sink(con, append=TRUE) # 记录outputsink(con, append=TRUE, type="message") # 记录message# 所有的output和message都会记录到test.log中,而控制台中不在有信息显示# 读取test.R的命令,所有的input在被解析后都会显示出来,此处会直接记录到test.log中source("test.R", echo=TRUE, max.deparse.length=10000)# 记录完毕后,重置output和message的记录,运行完一下两行,后续的输入命令重新显示到控制台中sink()sink(type="message")# 在控制台中显示test.log中记录下楼来的命令output和messagecat(readLines("test.log"), sep="\n")# 导出write.table(cat(readLines("test.log"), sep="\n"), "log.txt")
这种处理方法,可以在调试千行以上的自定义函数代码时,用以记录有可能出现但是被新出现的output和message所挤出控制台行数限制的error message。
0 0
- R: 控制台的清理与输出内容的保存 (Clear Console & Save Console Output)
- 获取控制台程序(Console)的输出内容
- Hive console log output 控制台输出日志
- 控制台输出水平(Console output levels)
- js控制台输出console的使用
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 关于Console控制台输出的玩法
- 控制台输出console.log()的用法
- eclipse的控制台显示有问题,关闭Limit console output
- Console 控制台的应用
- 有趣的控制台console
- 显示Console.WriteLine输出的内容
- js控制台输出console
- 淘宝海量数据产品技术架构
- hdu-2076-夹角有多大(题目已修改,注意读题)
- LeetCode: Best Time to Buy and Sell Stock III
- VBS获取天气预报[BY Broly]
- Java, ArrayList and Exception in thread “AWT-EventQueue-0” java.util.ConcurrentModificationException
- R: 控制台的清理与输出内容的保存 (Clear Console & Save Console Output)
- 详细介绍windows下使用python pylot进行网站压力测试
- 敏捷文档编制路线图
- Textviewb设置背景色失效
- Windows API函数大全
- 计算出表格里多行商品的总价
- 微信第三方登录
- 程序员不得不知道的英语词汇
- 连接框架