R - 乳胶出口中红色的负数

蒂亚普

我在这里的问题与这个问题非常相似

我正在尝试将带有负数的表导出到乳胶。我想这样做print(xtable())以访问所有打印选项。

目前,我找到的唯一解决方案是:(以前面的例子为例)

library(xtable)
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
xt <- capture.output(xtable(testMatrix))
sink(paste(file.name, ".tex", sep = "", collapse = NULL))
cat(gsub("(\\s|^)(-\\d\\.\\d*)", "\\1\\\\textcolor{red}{\\2}", xt), sep="\n")
sink()

它的工作原理,但我需要修改一些信息直接无法访问的xtable,如:include.rownamesmath.style.exponentscaption.placement最好的方法是直接使用print导出负十进制数的简单方法xtable任何想法?

达克迈尔

你需要做两件事:

  1. 更改您的正则表达式模式以查找负数。来自另一个问题的模式仅在负数大于 -10 且有小数点时才能找到负数。我们将使它更通用。
  2. 使用capture.output(print(xtable(testMatrix)))代替capture.output(xtable(testMatrix))然后就可以使用print.xtable().

观察:

library(xtable)
set.seed(123)
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
xt <- capture.output(print(xtable(testMatrix))) # Notice use of print()
negative_number_pattern <- "(\\s|^)(-\\d+\\.*\\d*)" # Notice changed pattern
cat(gsub(negative_number_pattern, "\\1\\\\textcolor{red}{\\2}", xt), sep="\n")
% latex table generated in R 3.6.0 by xtable 1.8-4 package
% Mon May 13 08:02:53 2019
\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
 & 1 & 2 \\ 
  \hline
1 &   4 &  \textcolor{red}{-9} \\ 
  2 &   8 &  \textcolor{red}{-5} \\ 
  3 &   3 &   0 \\ 
  4 &  \textcolor{red}{-8} &  \textcolor{red}{-6} \\ 
  5 &  \textcolor{red}{-1} &  \textcolor{red}{-7} \\ 
   \hline
\end{tabular}
\end{table}
xt <- capture.output(print(xtable(testMatrix), include.rownames = FALSE))
cat(gsub(negative_number_pattern, "\\1\\\\textcolor{red}{\\2}", xt), sep="\n")
% latex table generated in R 3.6.0 by xtable 1.8-4 package
% Mon May 13 08:02:53 2019
\begin{table}[ht]
\centering
\begin{tabular}{rr}
  \hline
1 & 2 \\ 
  \hline
  4 &  \textcolor{red}{-9} \\ 
    8 &  \textcolor{red}{-5} \\ 
    3 &   0 \\ 
   \textcolor{red}{-8} &  \textcolor{red}{-6} \\ 
   \textcolor{red}{-1} &  \textcolor{red}{-7} \\ 
   \hline
\end{tabular}
\end{table}

如您所见,通过使用print(),我们能够使用您正在寻找的选项(这里我演示了更改include.rownamesFALSE)。

更新:“导出”

如果要filename.tex直接从 R 命令打印表,可以使用cat()'sfile参数。来自help("cat")

用法
cat(... , file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)

参数
... R 对象(有关允许的对象类型,请参阅“详细信息”)。

file 一个连接,或命名要打印到的文件的字符串。如果是“”(默认值),则 cat 打印到标准输出连接,控制台除非被接收器重定向。如果它是“|cmd”,则通过打开管道连接将输出通过管道传送到“cmd”给出的命令。

所以这:

library(xtable)
set.seed(123)
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
xt <- capture.output(print(xtable(testMatrix))) # Notice use of print()
negative_number_pattern <- "(\\s|^)(-\\d+\\.*\\d*)" # Notice changed pattern
cat(gsub(negative_number_pattern, "\\1\\\\textcolor{red}{\\2}", xt), sep="\n",
    file = "filename.tex")

导致以下内容filename.tex

% latex table generated in R 3.6.0 by xtable 1.8-4 package
% Mon May 13 08:53:44 2019
\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
 & 1 & 2 \\ 
  \hline
1 &   4 &  \textcolor{red}{-9} \\ 
  2 &   8 &  \textcolor{red}{-5} \\ 
  3 &   3 &   0 \\ 
  4 &  \textcolor{red}{-8} &  \textcolor{red}{-6} \\ 
  5 &  \textcolor{red}{-1} &  \textcolor{red}{-7} \\ 
   \hline
\end{tabular}
\end{table}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R降价:乳胶头的问题

来自分类Dev

用红色突出显示负数

来自分类Dev

R功能仅打印负数

来自分类Dev

SSRS - 出口中的不同值

来自分类Dev

R 笔记本内联乳胶输出

来自分类Dev

R:namespaceExport(ns,出口)中的错误:未定义的出口:

来自分类Dev

格式化负数深红色

来自分类Dev

在Websphere MQ出口中解析byteBuffer

来自分类Dev

恢复ApplicationRoute上设置的出口中的内容

来自分类Dev

如何在R中设置用于编织的乳胶路径?

来自分类Dev

在R函数中使用knitR编写乳胶块

来自分类Dev

从R中的变量打印内联乳胶方程,麻烦\ beta

来自分类Dev

R代码中的Knitr逃逸乳胶特殊字符(例如〜,$)

来自分类Dev

获取单个乳胶文件而不是PDF以获取R包的文档

来自分类Dev

R Leaflet标记弹出窗口中的图像

来自分类Dev

R Shiny Leaflet弹出窗口中的includeHTML

来自分类Dev

如何计算R中某个分数的幂的任何负数?

来自分类Dev

删除R中的索引时将0与负数混合

来自分类Dev

在R中使用正数和负数创建序列

来自分类Dev

R:用不同的颜色映射正数和负数

来自分类Dev

R-每隔一个负数的序列号

来自分类Dev

查找最接近零而不返回负数的函数-R

来自分类Dev

在Boost作用域出口中调用对象函数

来自分类Dev

在出口中定义路由与在它之上 Node.js

来自分类Dev

是否可以在R中默认在新窗口中绘图?

来自分类Dev

在带有R的Tcl Tk窗口中显示表格

来自分类Dev

Kubuntu:无法在外部窗口中显示R光泽

来自分类Dev

如何在 R 的滚动窗口中跳过 NA 列

来自分类Dev

R,gglagplot,乳胶,最终pdf中的图上没有点