R包crayon格式化输出信息_2021-07-22

生活需要色彩,工作也一样,而且我最近迷上了生信分析流程中的各种颜色的代码。上期,我分享的让我们的脚本带点色儿 - 知乎 (zhihu.com),是面向CLI(Command-Line Interface)的用户的,今天分享的内容,CLI和GUI(Graphical User Interface)都适用。

R语言现在已经不是小众语言了,学校教育和各行各业的工作中都可以使用R语言中便捷的统计学函数和强悍的图形可视化能力,人们对于数据可视化有着执念式的追求。

当然,做生信分析工作也离不开R语言,下面我将展示一个R包,可以使我们的R代码或者程序输出信息不那么单调。

这个包就是:crayon(Colored Terminal Output),作者有两位:这是他们的邮箱地址csardi.gabor@gmail.com/brodie.gaslam@yahoo.com。

我直接分步进行代码和输出信息展示:相信大家一看就明白如何使用了,非常nice and easy.

step1: 安装R包:crayon,只需要安装一次就可以了,后面使用时,每次导入即可

install.packages("crayon")

为了展示方便,我们这里再安装一个R包:praise

step2: 导入R包,R包安装成功后就可以导入R环境

library("crayon")

library("praise")

step3:查看版本信息

packageVersion("crayon")

# [1] ‘1.4.1’

step4:获取R包中的函数列表

ls(package:crayon)

[1] "%+%"              "bgBlack"          "bgBlue"          "bgCyan"         

[5] "bgGreen"          "bgMagenta"        "bgRed"            "bgWhite"       

[9] "bgYellow"        "black"            "blue"            "blurred"       

[13] "bold"            "chr"              "col_align"        "col_nchar"     

[17] "col_strsplit"    "col_substr"      "col_substring"    "combine_styles" 

[21] "cyan"            "drop_style"      "finish"          "green"         

[25] "has_color"        "has_hyperlink"    "has_style"        "hidden"         

[29] "hyperlink"        "inverse"          "italic"          "magenta"       

[33] "make_style"      "num_ansi_colors"  "num_colors"      "red"           

[37] "reset"            "show_ansi_colors" "silver"          "strikethrough" 

[41] "strip_style"      "style"            "styles"          "underline"     

[45] "white"            "yellow"

高能预警!!!

step5:Genaral styles:8个函数

5.1 reset,这个额。。。

?reset

cat(reset(blue(praise(), "\n")))

就没什么感觉

5.2 bold,字体加粗函数

> praise()

[1] "You are breathtaking!"

> cat(bold(praise(),"\n"))

You are amazing!

5.3 blurred (usually called ‘dim’, renamed to avoid name clash)

> cat(blurred(praise(), "\n"))

You are wicked!

5.4 italic (not widely supported),斜体

> cat(italic(praise(), "\n"))

You are delightful!

5.5 underline,下划线

> cat(underline(praise(), "\n"))

You are impressive!

5.6 inverse,高对比度

> cat(inverse(praise(), "\n"))

You are superior!

> a = "Colored terminal output"

> cat(inverse(a, "\n"))

Colored terminal output

5.7 hidden,隐藏输出字体

> cat(hidden(praise(),"\n"))

5.8 strikethrough (not widely supported)

> cat(strikethrough(praise(), "\n"))

You are classy!

step6:Text colors:9个函数

cat(black(praise(),"\n"))

cat(red(praise(),"\n"))

cat(green(praise(),"\n"))

cat(yellow(praise(),"\n"))

cat(blue(praise(),"\n"))

cat(magenta(praise(),"\n"))

cat(cyan(praise(),"\n"))

cat(white(praise(),"\n"))

cat(silver(praise(),"\n"))

linux服务器展示:

step7:Background colors:8个函数

cat(bgBlack(praise(), "\n"))

cat(bgRed(praise(), "\n"))

cat(bgGreen(praise(), "\n"))

cat(bgYellow(praise(), "\n"))

cat(bgBlue(praise(), "\n"))

cat(bgMagenta(praise(), "\n"))

cat(bgCyan(praise(), "\n"))

cat(bgWhite(praise(), "\n"))

linux服务器展示:

step8:总共有8x8x9=576种搭配用法

搭配举例1:bold + bgWhite + blue

cat(bold(bgWhite(blue(praise(), "\n"))))

搭配举例2:bold + bgRed + black + bgWhite + blue

cat(bold(bgRed(black("Today, ")),bgWhite(blue(praise(), "\n"))))

step9:R程序中的用法举例:

> exprmat_file <- list.files(path = "./", pattern = "ExprData_raw.xlsx$")

> cat(blue(paste0("原始表达矩阵文件名为: ",exprmat_file)))

原始表达矩阵文件名为: ExprData_raw.xlsx

> cat(blue("原始表达矩阵文件名为: "), red(exprmat_file))

原始表达矩阵文件名为:  ExprData_raw.xlsx

> cat(bgYellow(blue("原始表达矩阵文件名为: "), red(exprmat_file)))

原始表达矩阵文件名为:  ExprData_raw.xlsx

> cat(bgWhite(blue("原始表达矩阵文件名为: "), red(exprmat_file)))

原始表达矩阵文件名为:  ExprData_raw.xlsx

step10:收尾彩蛋

%+%用法,字符串拼接

> letters[1:10] %+% chr(1:10)

[1] "a1"  "b2"  "c3"  "d4"  "e5"  "f6"  "g7"  "h8"  "i9"  "j10"

> letters[1:10] %+% "-" %+% chr(1:10)

[1] "a-1"  "b-2"  "c-3"  "d-4"  "e-5"  "f-6"  "g-7"  "h-8"  "i-9"  "j-10"

非常方便哦,不要只记得paste()和paste0(),也可以试试%+%

> date()

[1] "Thu Jul 22 16:07:58 2021"

> sessionInfo()

R version 4.1.0 (2021-05-18)

Platform: x86_64-apple-darwin17.0 (64-bit)

Running under: macOS Big Sur 10.16

Matrix products: default

LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:

[1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8

attached base packages:

[1] stats    graphics  grDevices utils    datasets  methods  base   

other attached packages:

[1] praise_1.0.0 crayon_1.4.1

loaded via a namespace (and not attached):

[1] zip_2.2.0          Rcpp_1.0.7          cellranger_1.1.0 

[4] pillar_1.6.1        compiler_4.1.0      BiocManager_1.30.16

[7] remotes_2.4.0      forcats_0.5.1      prettyunits_1.1.1 

[10] tools_4.1.0        testthat_3.0.4      pkgbuild_1.2.0   

[13] pkgload_1.2.1      memoise_2.0.0      lifecycle_1.0.0   

[16] tibble_3.1.2        pkgconfig_2.0.3    rlang_0.4.11     

[19] openxlsx_4.2.4      rstudioapi_0.13    cli_3.0.1         

[22] curl_4.3.2          haven_2.4.1        rio_0.5.27       

[25] fastmap_1.1.0      withr_2.4.2        desc_1.3.0       

[28] fs_1.5.0            vctrs_0.3.8        devtools_2.4.2   

[31] hms_1.1.0          rprojroot_2.0.2    glue_1.4.2       

[34] data.table_1.14.0  R6_2.5.0            processx_3.5.2   

[37] fansi_0.5.0        readxl_1.3.1        foreign_0.8-81   

[40] sessioninfo_1.1.1  purrr_0.3.4        callr_3.7.0       

[43] magrittr_2.0.1      usethis_2.0.1      ps_1.6.0         

[46] ellipsis_0.3.2      utf8_1.2.1          stringi_1.7.3     

[49] cachem_1.0.5

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容