r - 如何命名一列矩阵行名
问题描述
我正在尝试使用kable
包创建此表,
我已经复制了表格,但我无法命名第一列。如何包含先前经验列标题?该表由矩阵对象制成。
这是我使用的代码:
```{r, echo=FALSE, warning=FALSE, message=FALSE}
source(here::here("05_Results.R"), local = knitr::knit_global())
library(formattable)
library(kableExtra)
options(knitr.kable.NA = '')
# put matrices together
m <- matrix(rbind(t(pij), t(se_pij)), ncol = ncol(pij), byrow = T)
blank <- c("", "", "")
obs <- matrix(rbind(t(nij), t(blank)), ncol = 1, byrow = T)
obs <- apply(obs , 2, as.numeric)
m <- cbind(m, obs)
rownames(m) <- c("Downgraded", "", "Unchanged", "", "Upgraded", "")
colnames(m) <- c("Downgraded", "Unchanged", "Upgraded", "Obs.")
m[1:6,1:3] <- scales::percent(m[1:6, 1:3], accuracy = 0.01)
m[c(2,4,6),1:3] <- matrix(paste0("(", format(unlist(m[c(2,4,6), 1:3])),")"), nrow = 3, byrow = FALSE)
m %>%
kable(
longtable = FALSE,
format = "latex",
booktabs = TRUE,
align = c("l", "c", "c", "c", "c"),
linesep = "\\addlinespace",
caption = "All Cooperatives Rating History Dependence, 1996-2014"
) %>%
add_header_above(c(" ", "Subsequent Experience" = 3))
```
我的数据:
nij <- c(Downgraded = 811, Unchanged = 983, Upgraded = 841)
pij <- structure(c(0.168927250308261, 0.32146490335707, 0.454221165279429,
0.274969173859433, 0.458799593082401, 0.392390011890606, 0.556103575832306,
0.219735503560529, 0.153388822829964), class = "table", .Dim = c(3L,
3L), .Dimnames = list(i = c("Downgraded", "Unchanged", "Upgraded"
), j = c("Downgraded", "Unchanged", "Upgraded")))
se_pij <- structure(c(0.0131570628879201, 0.014896223560517, 0.0171689616489814,
0.0156786914420421, 0.0158932900891351, 0.0168373378492297, 0.0174464969960683,
0.0132066990320836, 0.0124262720735792), class = "table", .Dim = c(3L,
3L), .Dimnames = list(i = c("Downgraded", "Unchanged", "Upgraded"
), j = c("Downgraded", "Unchanged", "Upgraded")))
解决方案
用语句替换rownames
and语句:colnames
dimnames
dimnames(m) <- list("Prior Experience"=c("Downgraded", "", "Unchanged", "", "Upgraded", ""), "Subsequent Experience"=c("Downgraded", "Unchanged", "Upgraded", "Obs."))
print(m, digits=3)
# Subsequent Experience
# Prior Experience Downgraded Unchanged Upgraded Obs.
# Downgraded 0.1689 0.2750 0.5561 811
# 0.0132 0.0157 0.0174 NA
# Unchanged 0.3215 0.4588 0.2197 983
# 0.0149 0.0159 0.0132 NA
# Upgraded 0.4542 0.3924 0.1534 841
# 0.0172 0.0168 0.0124 NA
推荐阅读
- pyqt5 - 不能与 QComboBox 关联
- r - 给定 R 中的条件,查找与另一个值最接近的值的位置
- node.js - 使用 Node js 按周/月/年对文档进行分组
- javascript - React 输入 defaultValue 重新渲染
- flutter - 视频播放器中的颤振问题
- bash - Bash:使用 getopts 解析参数后的选项
- django - 分配前引用的 Django UnboundLocalError 局部变量“注册”
- powershell - Powershell 图形用户界面。从动态列表框中选择一个项目,随后从 Active Directory 中卸载用户信息
- c# - 如何在 WinForms 按钮的文本之前添加图像图标?
- docker - Docker多阶段不调用入口点