r - 如何将不同的数字格式应用于 R 中的每一行

标签 r latex markdown rnw

我有一个表格,我想显示它在表格的不同行中混合了百分比、整数和浮点值。

我想在 R 标记或 Rnw 文件中创建格式化输出,以很好地显示我的表格。

如果我使用 xtable 和数字命令,我可以在每列的基础上进行。

我已经调查了在 LaTeX 输出中使用打印的 add.to.row 功能,但是,我找不到将格式应用于我的数字的 LaTeX 标签,它们都需要大括号围绕单个数字,以便格式生效,我无法实现。

<<results=tex>>=
  library(xtable)

  ### some random data
  X<-data.frame();
  for (i in 1:2) {
    r<-sample(1:1000,4);
    X<-rbind(X,r);
  }
  X<-rbind(X,(X[1,]/(X[1,]+X[2,])))
  colnames(X)<-c("Cat A","Cat B","Cat C","Cat D")
  rownames(X)<-c("Passed","Failed","Percent Passed")

  ###Atempts to format the rows  
  formTable<-xtable(X)
  print(formTable)

  ###This works to format column
  Y=t(X)
  Y[,"Percent Passed"]=Y[,"Percent Passed"]*100;
  formatedTab<-xtable(Y)
  digits(formatedTab)<-c(0,0,0,2)
  print(formatedTab)
 @

如果我可以转置第二个表的输出,我会很高兴……但这似乎不起作用。

我想要这个的一个特殊原因是,我有很长的行描述和很短的列描述,因此更容易拥有漂亮的紧凑对齐的列。

最佳答案

在调用 xtable 之前格式化数据框如何?

library(xtable)
set.seed(10)
X <- as.data.frame(matrix(sample(1:1000, 8), nrow = 2), stringsAsFactors = FALSE)
X[3, ] <- (X[1,]/(X[1,]+X[2,])) * 100
X
#         V1        V2        V3        V4
#1 508.00000 427.00000  85.00000 273.00000
#2 307.00000 692.00000 225.00000 271.00000
#3  62.33129  38.15907  27.41935  50.18382
X <- as.data.frame(lapply(X, sprintf, fmt = c("%.0f", "%.0f", "%.6f")))
colnames(X)<-c("Cat A","Cat B","Cat C","Cat D")
rownames(X)<-c("Passed","Failed","Percent Passed")
formTable<-xtable(X)
formTable
#% latex table generated in R 3.2.0 by xtable 1.7-4 package
#% Tue May  5 11:37:51 2015
#\begin{table}[ht]
#\centering
#\begin{tabular}{rllll}
#  \hline
# & Cat A & Cat B & Cat C & Cat D \\ 
#  \hline
#Passed & 508 & 427 & 85 & 273 \\ 
#  Failed & 307 & 692 & 225 & 271 \\ 
#  Percent Passed & 62.331288 & 38.159071 & 27.419355 & 50.183824 \\ 
#   \hline
#\end{tabular}
#\end{table}

关于r - 如何将不同的数字格式应用于 R 中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049861/

相关文章:

r - 在 R 中调整 XGboost 参数

vim - 对 latex 文件使用 vims tagbar 插件

latex - Latex文档中的C源代码

latex - Multicol 和页面顶部的 float 框,文本环绕在它周围

ruby-on-rails-3 - 如何在 Rails 3 中使用 markdown 自动渲染部分内容?

R将列表中的每个 `data.frame`打印到单独的表中,标题为 `data.frame`名称

r - 如何使图表更易于阅读?编辑情节

regex - 如何从数据框中的列名中删除 ".x"?

node.js - 以 Markdown 格式导出文本文档

c - 将 SO 数据转储从 HTML 转换回 Markdown 的最简单方法是什么?