首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >突出显示Pander中的最小行值

突出显示Pander中的最小行值
EN

Stack Overflow用户
提问于 2015-12-03 14:59:13
回答 1查看 386关注 0票数 1

我正在尝试使用Pander包在RMarkdown文档中显示数据。

我想突出显示每一行值中的最小值。以下是我尝试过的:

代码语言:javascript
复制
df <- replicate(4, rnorm(5)) 
df <- as.data.frame(df)
df$min <- apply(df, 1, min)
emphasize.strong.cells(which(df == df$min, arr.ind = T))
pander(df[1:4])

当我这样做时,我会得到一个错误:

代码语言:javascript
复制
Error in check.highlight.parameters(emphasize.strong.cells, nrow(t), ncol(t)) : 
  Too high number passed for column indexes that should be kept below 6

我可以毫不费力地打印出整个表(带有min列),也可以不加强调地打印出部分表,但这两种方法都不是理想的。我想要突出显示,但我不想包括'min‘列。

我想,我将一些突出显示的单元格排除在pander命令之外是导致错误的原因。

有办法绕道吗?或者一个更好的方法来做这个?

谢谢。

子问题:如果我想突出显示前几行的最小值和接下来的几行中的最大值,该怎么办?这在一张桌子上有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-04 06:45:56

您可以使用简单的序列(1:N)构造那些数组索引,并在每一行上调用which (例如用apply ),而不是通过查找来匹配错误行中的行极小值。

代码语言:javascript
复制
> df <- replicate(4, rnorm(5))
> df <- as.data.frame(df)
> emphasize.strong.cells(cbind(1:nrow(df), apply(df, 1, which.min)))
> pander(df)

----------------------------------------------
    V1          V2          V3          V4    
----------- ----------- ----------- ----------
  0.6802      0.1409    **-0.7992**   0.1997  

  0.6797    **-0.2212**    1.016      0.6874  

   2.031     -0.009855    0.3881    **-1.275**

   1.376      0.2619    **-2.337**   -0.1066  

**-0.4541**    1.135      -0.1566     0.2912  
----------------------------------------------

关于您的下一个问题:您当然可以在一个表中这样做,例如,像上面用rbindwhich.max创建的两个矩阵一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34069192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档