相关矩阵的空值导致在 word 文档上编织 table 时出现问题
Empty values of correlation matrix cause problen in knitting table on word document
我正在尝试使用 knitr
将相关性 table 导出到 word 文档,但因为它包含 NA,所以我得到:
---
output:
word_document: default
---
```{r setup, include=FALSE}
data("mtcars")
library(tidyverse)
library(flextable)
library(scipub)
library(htmlTable)
library(magrittr)
library(mvtnorm)
library(haven)
library(expss)
library(kableExtra)
```
```{r, results='asis',echo=F}
tab<-structure(list(V1 = c("", "", "", "", "", "", "", "", "", ""),
V2 = c("-.21**", "", "", "", "", "", "", "", "", ""), V3 = c(".09",
"-.03", "", "", "", "", "", "", "", ""), V4 = c("-.23***",
".18**", ".15*", "", "", "", "", "", "", ""), V5 = c(".01",
".07", "-.03", "-.12", "", "", "", "", "", ""), V6 = c(".08",
"-.07", ".29***", ".12", "-.22***", "", "", "", "", ""),
V7 = c("-.09", ".21**", "-.02", ".13*", ".68***", "-.12",
"", "", "", ""), V8 = c(".17*", ".25***", ".05", "-.01",
".32***", ".13*", ".25***", "", "", ""), V9 = c(".16*", "-.20**",
".29***", "-.10", ".08", ".14*", ".01", ".17**", "", ""),
V10 = c("-.31***", ".14*", "-.26***", ".05", "-.08", "-.20**",
".02", "-.15*", "-.36***", ""), V11 = c("-.02", "-.13*",
"-.29***", "-.06", ".05", "-.05", ".07", "-.08", "-.23***",
".26***"), V12 = c(".03", "-.02", ".29***", ".02", "-.09",
".11", "-.07", ".12", ".20**", "-.32***"), V13 = c("-.10",
".00", ".15*", "-.08", ".00", ".01", ".02", "-.02", ".01",
".10"), V14 = c(".03", "-.17**", "-.15*", "-.09", ".01",
".03", "-.10", "-.26***", "-.04", ".08"), V15 = c(".32***",
"-.33***", ".32***", "-.31***", "-.07", ".21**", "-.13",
"-.07", ".18**", "-.39***"), V16 = c(".25***", ".00", "-.09",
"-.20**", ".01", ".08", ".04", "-.02", "-.21**", "-.15*")), row.names = c("all_fear_fail",
"all_high_stat_entre", "patience", "risktaking", "posrecip", "negrecip", "altruism", "trust_gps", "lrgdpch2005", "gini_net2000"
), class = "data.frame")
tab %>%
flextable() %>%
align(part = "all") %>% # left align
set_caption(caption = "Table 1: Example") %>%
font(fontname = "Calibri (Body)", part = "all") %>%
fontsize(size = 10, part = "body") %>%
# add footer if you want
# add_footer_row(values = "* p < 0.05. ** p < 0.01. *** p < 0.001.",
# colwidths = 4) %>%
theme_booktabs() %>% # default theme
autofit()
```
你可以试试这个(不要忘记删除多余的库,如果你不使用它):
---
output:
word_document: default
---
```{r setup, include=FALSE}
library(magrittr)
library(flextable)
library(data.table)
```
```{r,echo=F}
tab<-structure(list(V1 = c("", "", "", "", "", "", "", "", "", ""),
V2 = c("-.21**", "", "", "", "", "", "", "", "", ""), V3 = c(".09",
"-.03", "", "", "", "", "", "", "", ""), V4 = c("-.23***",
".18**", ".15*", "", "", "", "", "", "", ""), V5 = c(".01",
".07", "-.03", "-.12", "", "", "", "", "", ""), V6 = c(".08",
"-.07", ".29***", ".12", "-.22***", "", "", "", "", ""),
V7 = c("-.09", ".21**", "-.02", ".13*", ".68***", "-.12",
"", "", "", ""), V8 = c(".17*", ".25***", ".05", "-.01",
".32***", ".13*", ".25***", "", "", ""), V9 = c(".16*", "-.20**",
".29***", "-.10", ".08", ".14*", ".01", ".17**", "", ""),
V10 = c("-.31***", ".14*", "-.26***", ".05", "-.08", "-.20**",
".02", "-.15*", "-.36***", ""), V11 = c("-.02", "-.13*",
"-.29***", "-.06", ".05", "-.05", ".07", "-.08", "-.23***",
".26***"), V12 = c(".03", "-.02", ".29***", ".02", "-.09",
".11", "-.07", ".12", ".20**", "-.32***"), V13 = c("-.10",
".00", ".15*", "-.08", ".00", ".01", ".02", "-.02", ".01",
".10"), V14 = c(".03", "-.17**", "-.15*", "-.09", ".01",
".03", "-.10", "-.26***", "-.04", ".08"), V15 = c(".32***",
"-.33***", ".32***", "-.31***", "-.07", ".21**", "-.13",
"-.07", ".18**", "-.39***"), V16 = c(".25***", ".00", "-.09",
"-.20**", ".01", ".08", ".04", "-.02", "-.21**", "-.15*")), row.names = c("all_fear_fail",
"all_high_stat_entre", "patience", "risktaking", "posrecip", "negrecip", "altruism", "trust_gps", "lrgdpch2005", "gini_net2000"
), class = "data.frame")
tab1 <- data.table(tab, keep.rownames = TRUE)
tab1 %>%
flextable() %>%
align(part = "all") %>% # left align
set_caption(caption = "Example") %>%
font(fontname = "Calibri (Body)", part = "all") %>%
fontsize(size = 9, part = "all") %>%
# add footer if you want
# add_footer_row(values = "* p < 0.05. ** p < 0.01. *** p < 0.001.",
# colwidths = 4) %>%
theme_booktabs() %>% # default theme
fit_to_width(max_width = 8)
```
我正在尝试使用 knitr
将相关性 table 导出到 word 文档,但因为它包含 NA,所以我得到:
---
output:
word_document: default
---
```{r setup, include=FALSE}
data("mtcars")
library(tidyverse)
library(flextable)
library(scipub)
library(htmlTable)
library(magrittr)
library(mvtnorm)
library(haven)
library(expss)
library(kableExtra)
```
```{r, results='asis',echo=F}
tab<-structure(list(V1 = c("", "", "", "", "", "", "", "", "", ""),
V2 = c("-.21**", "", "", "", "", "", "", "", "", ""), V3 = c(".09",
"-.03", "", "", "", "", "", "", "", ""), V4 = c("-.23***",
".18**", ".15*", "", "", "", "", "", "", ""), V5 = c(".01",
".07", "-.03", "-.12", "", "", "", "", "", ""), V6 = c(".08",
"-.07", ".29***", ".12", "-.22***", "", "", "", "", ""),
V7 = c("-.09", ".21**", "-.02", ".13*", ".68***", "-.12",
"", "", "", ""), V8 = c(".17*", ".25***", ".05", "-.01",
".32***", ".13*", ".25***", "", "", ""), V9 = c(".16*", "-.20**",
".29***", "-.10", ".08", ".14*", ".01", ".17**", "", ""),
V10 = c("-.31***", ".14*", "-.26***", ".05", "-.08", "-.20**",
".02", "-.15*", "-.36***", ""), V11 = c("-.02", "-.13*",
"-.29***", "-.06", ".05", "-.05", ".07", "-.08", "-.23***",
".26***"), V12 = c(".03", "-.02", ".29***", ".02", "-.09",
".11", "-.07", ".12", ".20**", "-.32***"), V13 = c("-.10",
".00", ".15*", "-.08", ".00", ".01", ".02", "-.02", ".01",
".10"), V14 = c(".03", "-.17**", "-.15*", "-.09", ".01",
".03", "-.10", "-.26***", "-.04", ".08"), V15 = c(".32***",
"-.33***", ".32***", "-.31***", "-.07", ".21**", "-.13",
"-.07", ".18**", "-.39***"), V16 = c(".25***", ".00", "-.09",
"-.20**", ".01", ".08", ".04", "-.02", "-.21**", "-.15*")), row.names = c("all_fear_fail",
"all_high_stat_entre", "patience", "risktaking", "posrecip", "negrecip", "altruism", "trust_gps", "lrgdpch2005", "gini_net2000"
), class = "data.frame")
tab %>%
flextable() %>%
align(part = "all") %>% # left align
set_caption(caption = "Table 1: Example") %>%
font(fontname = "Calibri (Body)", part = "all") %>%
fontsize(size = 10, part = "body") %>%
# add footer if you want
# add_footer_row(values = "* p < 0.05. ** p < 0.01. *** p < 0.001.",
# colwidths = 4) %>%
theme_booktabs() %>% # default theme
autofit()
```
你可以试试这个(不要忘记删除多余的库,如果你不使用它):
---
output:
word_document: default
---
```{r setup, include=FALSE}
library(magrittr)
library(flextable)
library(data.table)
```
```{r,echo=F}
tab<-structure(list(V1 = c("", "", "", "", "", "", "", "", "", ""),
V2 = c("-.21**", "", "", "", "", "", "", "", "", ""), V3 = c(".09",
"-.03", "", "", "", "", "", "", "", ""), V4 = c("-.23***",
".18**", ".15*", "", "", "", "", "", "", ""), V5 = c(".01",
".07", "-.03", "-.12", "", "", "", "", "", ""), V6 = c(".08",
"-.07", ".29***", ".12", "-.22***", "", "", "", "", ""),
V7 = c("-.09", ".21**", "-.02", ".13*", ".68***", "-.12",
"", "", "", ""), V8 = c(".17*", ".25***", ".05", "-.01",
".32***", ".13*", ".25***", "", "", ""), V9 = c(".16*", "-.20**",
".29***", "-.10", ".08", ".14*", ".01", ".17**", "", ""),
V10 = c("-.31***", ".14*", "-.26***", ".05", "-.08", "-.20**",
".02", "-.15*", "-.36***", ""), V11 = c("-.02", "-.13*",
"-.29***", "-.06", ".05", "-.05", ".07", "-.08", "-.23***",
".26***"), V12 = c(".03", "-.02", ".29***", ".02", "-.09",
".11", "-.07", ".12", ".20**", "-.32***"), V13 = c("-.10",
".00", ".15*", "-.08", ".00", ".01", ".02", "-.02", ".01",
".10"), V14 = c(".03", "-.17**", "-.15*", "-.09", ".01",
".03", "-.10", "-.26***", "-.04", ".08"), V15 = c(".32***",
"-.33***", ".32***", "-.31***", "-.07", ".21**", "-.13",
"-.07", ".18**", "-.39***"), V16 = c(".25***", ".00", "-.09",
"-.20**", ".01", ".08", ".04", "-.02", "-.21**", "-.15*")), row.names = c("all_fear_fail",
"all_high_stat_entre", "patience", "risktaking", "posrecip", "negrecip", "altruism", "trust_gps", "lrgdpch2005", "gini_net2000"
), class = "data.frame")
tab1 <- data.table(tab, keep.rownames = TRUE)
tab1 %>%
flextable() %>%
align(part = "all") %>% # left align
set_caption(caption = "Example") %>%
font(fontname = "Calibri (Body)", part = "all") %>%
fontsize(size = 9, part = "all") %>%
# add footer if you want
# add_footer_row(values = "* p < 0.05. ** p < 0.01. *** p < 0.001.",
# colwidths = 4) %>%
theme_booktabs() %>% # default theme
fit_to_width(max_width = 8)
```