如何打印带有颜色的 R 数据框?

2023-12-30

随着crayon包中,可以创建彩色字符串:

library(crayon)
dat <- data.frame(X=c(yellow("foobar"), green("baz")), Y = cyan("qux"))

这是编码后的dat:

> dat
                       X                   Y
1 \033[33mfoobar\033[39m \033[36mqux\033[39m
2    \033[32mbaz\033[39m \033[36mqux\033[39m

With write.table,可以得到带有颜色的表格:

但对齐丢失了。如何获得具有良好对齐方式的彩色数据框?

The colorDF https://cran.r-project.org/web/packages/colorDF/vignettes/colorDF.html包允许在数据框中设置颜色,但不允许做我想做的事情。我想要的是能够在列中每次出现该单词时将这个单词涂成红色。这df_search的函数colorDF接近我想要的,但它为找到模式的整个单元格着色,我只想为一个单词着色。

例如,在此数据框中:

#                                file line              code
# 1                        folder/f.R    1 f <- function(x){
# 2              folder/subfolder/g.R    1 g <- function(y){
# 3 folder/subfolder/subsubfolder/h.R    1 h <- function(z){

我想要这个词function in the code列为红色。


你可以使用tibble代替data.frame因为它可以很好地打印矢量,请参阅vignette("pillar", package = "vctrs").

尤其 :

您可以通过提供 format() 方法来基本控制如何在 tibble 中打印向量

要回答您的问题,您可以创建一个function_red类扩展character, see vignette("s3-vector", package = "vctrs"):

library(vctrs)

data <- read.table(text="file line code
'folder/f.R' 1 'f <- function(x){'
'folder/subfolder/g.R' 1 'g <- function(y){'
'folder/subfolder/subsubfolder/h.R' 1 'h <- function(z){'
",header=T)

function_red <- function(x = character()) {
  vec_assert(x, character())
  new_vctr(x, class = "vctrs_function_red")
}

format.vctrs_function_red <- function(x,...) {
  gsub("function",crayon::red("function"),vec_data(x))
}

data$code <- function_red(data$code)
tibble::tibble(data)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何打印带有颜色的 R 数据框? 的相关文章

  • sapply - 保留列名称

    我试图总结数据集中许多不同列 变量 的平均值 标准差等 我已经编写了自己的汇总函数 以准确返回我需要和正在使用的内容sapply立即将此函数应用于所有变量 它工作正常 但是返回的数据帧没有列名 我似乎甚至无法使用列号引用重命名它们 也就是说
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 使用数据帧的 R 中的 EWMA 波动性

    我正在尝试从一系列股票每日收益中获取 EWMA 波动性 这些收益来自一个名为base retorno diario Data IBOV ABEV3 AEDU3 ALLL3 BBAS3 BBDC3 BBDC4 1 2000 01 04 0 0
  • Pandas:使用日期时间索引列表从 DataFrame 中提取多行

    我有一个 pandas Dataframe 其索引具有秒频率 DatetimeIndex 2015 12 28 05 20 05 2015 12 28 05 20 06 2015 12 28 05 20 07 2015 12 28 05 2
  • Pandas 按唯一列值拆分数据框[重复]

    这个问题在这里已经有答案了 我有一个数据框正在输出到名为 所有数据 的电子表格中 假设此数据包含企业地址 街道 城市 邮政编码 州的列 但是 我还想为包含完全相同的列的每个唯一状态创建一个工作表 我的基本想法是使用迭代每一行df iterr
  • Spark Scala Cassandra 连接器删除所有行失败,并出现 IllegalArgumentException 要求失败异常

    创建表 CREATE TABLE test word groups group text word text count int PRIMARY KEY group word 插入数据 INSERT INTO test word group
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 在 R 上安装 TDA 包时出错:目标“diag.o”的配方失败

    使用 Ubuntu 16 04 和 R 3 4 1 安装 R 包 TDA 时收到错误消息 它似乎与制作 CGAL diag cpp 和 或 diag o 最后的完整错误打印输出 有关 我仔细看了这个 在 R 上安装 TDA 包时出错 htt
  • 从数据框中按索引删除行

    我有一个数组wrong indexes train其中包含我想从数据框中删除的索引列表 0 63 151 469 1008 要删除这些索引 我正在尝试这样做 df train drop wrong indexes train 但是 代码失败
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 如何使用plotmath更新ggplot图例标签

    我正在尝试更新ggplot要使用的图例标签plotmath但是 当我这样做时 它将之前组合的图例分成两部分 通过一个例子可能更容易理解 test data and the default plot gives the correct col

随机推荐

  • 如何对 NSArray 中的数字进行排序?

    我无法拼凑出如何做到这一点 我从 plist 中获取数组 该数组充满了数字 如 plist 中设置的那样 现在我需要做的就是对它们进行排序 使它们下降 但我无法解决 试试这个代码 NSArray array loaded from file
  • 在 shell 脚本中缩进多行输出

    我正在尝试更改 Ubuntu Amazon EC2 盒子上的每日消息 MOTD 以便在我通过 SSH 登录时它会显示我的某个目录的 git 状态 所有默认 MOTD 文件的输出在每行开头都有两个空格 因此看起来缩进很好 但因为我的git s
  • 多个 XSD 架构文件到 C# 类

    从多个 XSD 架构文件生成 C 类的最佳方法是什么 某些 XSD 架构文件可能相互依赖 我试图避免生成重复的 C 类 使用XSD EXE程序 但通过all在同一命令行上将模式添加到程序中 例如 gt xsd c qbxmltypes130
  • 运行 Spring Batch 作业的多个实例时出现死锁[重复]

    这个问题在这里已经有答案了 我有一个 spring 批处理作业 它在基于块的步骤中从数据库读取并在进行一些处理后写入文件 我的要求是同时并行运行该作业的近 16 个实例 只需具有不同的作业参数 但我在这样做的时候一直面临着几个问题 1 无法
  • dvcs 部分合并(git、hg 合并跟踪)

    我有一个关于一般 DVCS 的问题 包括 Git 和 Hg 在 Git 和 Hg 中 合并跟踪都是在 提交 级别而不是 文件 目录 级别完成的 副作用 之一是你不能轻易地进行 部分合并 您已修改分支 feature branch x 中的
  • Patsy 中的 One-hot 编码

    对于回归 我通常使用 sklearn 对分类变量进行编码OneHotEncoder http scikit learn org stable modules generated sklearn preprocessing OneHotEnc
  • java.awt.FontFormatException: bad table, tag=1196445523 表示什么?

    我已关注这个链接 http www dynamicreports org documentation fonts向我的 jasper 报告项目添加字体 但在尝试构建报告时出现此异常 此异常意味着什么 我找不到任何关于如何解决它的解决方案 请
  • alt 和标题未显示为 svg 路径的工具提示

    我有一些 svg 路径
  • 启动tomcat时jre_home环境变量未正确定义

    当我尝试使用运行 tomcat 时startup bat我收到以下错误 The JRE HOME environment variable is not defined correctly This environment variable
  • K 运行时的明显“配置文件”之间有什么区别?

    设置完后KRuntime https github com aspnet Home wiki runtime 版本管理器 https github com aspnet Home wiki Version Manager并闲逛kvm命令 很
  • 撤销 JWT Oauth2 刷新令牌

    我正在尝试找到一种使用普通 Spring 实现和 JwtTokenStore 撤销 Oauth2 JWT 刷新令牌的方法 第一 有人可以确认没有类似于 oauth token 的 API 允许我撤销刷新令牌吗 我想添加一个自定义 API 该
  • JMeter - 响应时间与延迟具有相同的值

    我正在使用 JMeter 和 Blazemeter 报告执行性能测试 但响应时间值与延迟时间值相同 有人可以解释一下吗 我附上图表结果 延迟时间图 响应时间图 这只是意味着响应很小 空 值为 TTLB 和 TTFB 请参见关于差异的解释 h
  • DDD 和 CQRS:从单个命令处理程序使用多个存储库?

    简单电子商店的典型示例 假设用户将一些商品添加到购物篮并单击 结账 发出 创建订单 命令 现在 在实际创建状态为 预计付款 的订单记录以及数据库中相应的订单行之前 我们必须检查用户选择的商品是否仍然可用 也许某些商品在用户将其添加到购物篮时
  • 使用自定义渲染器在网格中进行过滤

    我的管理网格模块中的过滤器出现问题 我的问题是 过滤自定义渲染器不起作用的列 public function prepareColumns this gt addColumn entity id array header gt ID ind
  • 检查多个 PHP 数组键是否全部存在

    我目前正在使用以下内容 a array foo gt bar bar gt foo if isset a foo isset a bar echo all exist 但是 我将拥有比foo and bar我必须检查一下 有没有比添加一个更
  • 如何使用 React 在音频元素上设置 srcObject

    我一直在尝试设置srcReact 中音频标签的属性 但曲目从未播放 playTrack track const stream new MediaStream stream addTrack track this setState gt st
  • 起订量 - 不可覆盖的成员不得在设置/验证表达式中使用

    我是最小起订量的新手 我在嘲笑一个PagingOptions班级 该类如下所示 public class PagingOptions Range 1 99999 ErrorMessage Offset must be greater tha
  • 对新对象使用相同的引用

    在搜索一些松散相关的东西时 我偶然发现了这句话 引用可以比对象更长寿 并可用于引用在同一地址创建的新对象 由此answer https stackoverflow com a 24720107 349594 现在 我一直知道并通过引用进行工
  • 仅在未授予权限时请求 getUserMedia

    我正在创建一个警报 以便在我的网站请求访问用户的麦克风时向用户提供额外的通知 我读过 对于 Chrome 如果该网站通过 HTTPS 提供服务 则不会再次请求用户许可 除非他们删除该权限 但是 我注意到在请求麦克风访问的非 HTTPS 站点
  • 如何打印带有颜色的 R 数据框?

    随着crayon包中 可以创建彩色字符串 library crayon dat lt data frame X c yellow foobar green baz Y cyan qux 这是编码后的dat gt dat X Y 1 033