有没有办法在R中创建乳胶半基质?

有没有办法在R中创建乳胶半基质?,r,matrix,xtable,R,Matrix,Xtable,我试图使用xtable软件包在R中创建一个打印质量的半矩阵。我可以毫无问题地创建完整的对称矩阵,但是当我只提取下三角矩阵时,我得到如下所示的错误 library(Matrix) datamat1<-tril(data1) #extract lower triangle library(xtable) options(xtable.floating = FALSE) options(xtable.timestamp = "") xtable(datamat1, digit

我试图使用xtable软件包在R中创建一个打印质量的半矩阵。我可以毫无问题地创建完整的对称矩阵,但是当我只提取下三角矩阵时,我得到如下所示的错误

library(Matrix)
datamat1<-tril(data1) #extract lower triangle
library(xtable)
options(xtable.floating = FALSE)
options(xtable.timestamp = "")
xtable(datamat1, digits = 3)
库(矩阵)

datamat1可能保留原始矩阵,只需将上部三角形设置为missing。然后,您仍然可以处理一个常规的
矩阵
对象。下面的代码还显示了除用于打印的
xtable
之外的两个其他选项。(如果您需要
dtrMatrix
类对象进行进一步处理,您当然可以将其与下面创建的用于打印的对象分开创建。)

---
title: "My Title"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo=FALSE)
library(tidyverse)
library(knitr)
library(gt)
library(xtable)
options(xtable.floating = FALSE)
options(xtable.comment = FALSE)
options(knitr.kable.NA="")
```

## Using `xtable`

```{r,  results="asis"}
set.seed(3)
m = matrix(1:16 + rnorm(16), nrow=4)
m[upper.tri(m)] = NA_real_

xtable(m, digits=3)
```

## Using `knitr::kable`

```{r}
colnames(m) = 1:ncol(m)
rownames(m) = 1:nrow(m)

kable(m, row.names=TRUE, digits=3)
```

## Using the `gt` package

```{r}
gt(as_tibble(m),
   rownames_to_stub=TRUE,
   digits) %>% 
  fmt_missing(columns=everything(), 
              missing_text="") %>% 
  fmt_number(columns=everything(), 
             decimals=3)
```