r - R to latex - 自动着色数字
问题描述
我有一个(长)R 矩阵。例如:
matrix <- matrix(rexp(200, rate=.01), ncol=4)
我想找到一种方法来着色,例如,在进行乳胶提取之前,每列的重要数字增加 15% ,如下所示:
print(xtable(matrix, align = c("r","r","r","r","r")),
type = "latex",
floating = FALSE,
tabular.environment = "longtable")
任何的想法?
解决方案
我终于找到了一个肮脏的解决方案
matrix <- as.data.frame(matrix(rexp(200, rate=.01), ncol=4))
设置循环
for(i in 1:length(matrix[1,])) {
quant <- quantile(matrix[,i], prob = 0.85, na.rm = TRUE)
for(j in 1:length(matrix[,1])) {
if(as.numeric(matrix[j,i]) > quant) {
matrix[j,i] <- paste("\\cellcolor{red!25}", matrix[j,i], sep="", collapse = NULL)}
else {}
} } # close both loops
然后在乳胶中打印结果
print(xtable(matrix),
type = "latex",
sanitize.text.function = identity)
它给出了可接受的结果。在“j”循环之前设置:“quant <- quantile”很重要。如果不是在此“j”循环期间所做的更改将 matrix[,i] 更改为字符向量,则无法重新计算分位数。
不要忘记打印中的“sanitize.text.function = identity”。
推荐阅读
- angular - .NetCore Angular:“解析值时遇到意外字符:c.路径'',第 0 行,位置 0。” 仅在 Angular PUT 请求期间
- apache-curator - 在 Curator 中使用 ServiceCache 通知实例已关闭
- python - 如何使用 pytesseract 抓取这些图像中的文本?
- c# - 在将对象作为参数传递给组件后,我似乎无法从表达式中读取对象
- sql - 关闭不是交互式报表的对话框后如何刷新父页面
- asp.net - 实体框架无法识别存储过程,显示无效对象 SQL 错误
- json - 解析/搜索 JSON 中的级联数组
- pandas - 如何拆分数据框中的字符串并将逗号作为分隔符
- c++ - 如何提高浮点二阶导数计算的精度?
- javascript - 如何在for循环中排除除一个之外的所有元素?