如何在Rmarkdown中将距离矩阵格式化为数组?

时间:2015-05-15 14:57:36

标签: r r-markdown

我有一个距离矩阵d,我想在Rmarkdown中格式化为数组。

```{r,echo=FALSE}
x <- c(1,3,1,4,5)
y <- c(5,4,3,5,1)
d <- dist(cbind(x,y))
```

所以d在Rmarkdown文档中看起来像这样:

$$\mathbf{d} = \left[\begin{array}
{rrrrr}
~ & 1 & 2 & 3 & 4 \\
2 & 2.236 & ~ & ~ & ~ \\
3 & 2.000 & 2.236 & ~ & ~ \\
4 & 3.000 & 1.414 & 3.606 & ~ \\
5 & 5.657 & 3.606 & 4.472 & 4.123
\end{array}\right]
$$

没有硬编码的任何提示吗?

编辑:在数组TeX代码中修复拼写错误。

1 个答案:

答案 0 :(得分:0)

如果你想生成一个markdown表而不是LaTeX(然后将其转换为LaTeX / PDF / docx / whatever),那么在{{dist类中添加对pander类的支持是非常简单的。 1}}包。关于这个想法的简单例子:

> m <- as.matrix(d)
> m[upper.tri(m)] <- NA
> pander(m, split.table = Inf, digits = 4, missing = '', keep.trailing.zeros = TRUE)

-----------------------------
  1     2     3     4     5  
----- ----- ----- ----- -----
0.000                        

2.236 0.000                  

2.000 2.236 0.000            

3.000 1.414 3.606 0.000      

5.657 3.606 4.472 4.123 0.000
-----------------------------

如果您希望通过简单pander(d)电话完成此操作,请在https://github.com/Rapporter/pander创建一个票证/拉取请求。