У меня есть функция, которая выводит html-код, который корректно отображает, но помещает его в документ уценки. R-фрагмент кода с'results = "asis" `терпит неудачу. Я трассирую проблему обратно в пробелы в своем HTML-коде. Мне нравятся пробелы, потому что они облегчают чтение необработанного HTML-файла. Если вы, пожалуйста, подумаете о том, чтобы установить мой пакет R rockchalk, вы можете запустить это и увидеть то же самое.R markdown asis breaks valid html code
Я показываю, что проблема вызвана пробелами в HTML (которые markdown рассматривает как разметку для кода) в следующем MRE. Выход, который я получаю без дополнительной магии стилей, доступен: http://pj.freefaculty.org/scraps/mre.html
Прокрутка вниз, вы видите, что таблица сломана, но после просеивания лишних пробелов таблица показывает, как предполагалось.
На ваш взгляд, это просто моя ошибка пользователя для того, чтобы полагаться на пробелы в HTML-коде или это ошибка в asis в R markdown.
---
title: "Guide Documents"
author:
- name: Paul Johnson
affiliation: Center for Research Methods and Data Analysis, University of Kansas
abstract:
Author, please REMEMBER TO INCLUDE AN ABSTRACT BEFORE FINALIZING THIS DOCUMENT!
date: "`r format(Sys.time(), '%Y %B %d')`"
output:
html_document:
highlight: haddock
---
```{r setup, include = FALSE}
##This Invisible Chunk is required in all CRMDA documents
outdir <- paste0("tmpout")
if (!file.exists(outdir)) dir.create(outdir, recursive = TRUE)
knitr::opts_chunk$set(echo = TRUE, comment = NA, fig.path = paste0(outdir, "/p-"))
options(width = 70)
```
```{r myregs}
library(rockchalk)
set.seed(2134234)
dat <- data.frame(x1 = rnorm(100), x2 = rnorm(100))
dat$y1 <- 30 + 5 * rnorm(100) + 3 * dat$x1 + 4 * dat$x2
dat$y2 <- rnorm(100) + 5 * dat$x2
m1 <- lm(y1 ~ x1, data = dat)
m2 <- lm(y1 ~ x2, data = dat)
m3 <- lm(y1 ~ x1 + x2, data = dat)
gm1 <- glm(y1 ~ x1, family = Gamma, data = dat)
or1 <- outreg(list("Amod" = m1, "Bmod" = m2, "Gmod" = m3),
title = "My Three Linear Regressions", float = FALSE, type = "html")
```
```{r browseme}
or1 <- outreg(list("Amod" = m1, "Bmod" = m2, "Gmod" = m3),
title = "My Three Linear Regressions", float = FALSE, type = "html")
```
```{r flawed, results = "asis"}
cat(or1)
```
```{r cleaned, results = "asis"}
or1 <- gsub(" "," ", or1)
or1 <- gsub("^\\ *", "", or1)
or1 <- paste(or1, collapse = "")
or1 <- gsub("\\ \\ \\ \\ \\ \\ ", " ", or1)
or1 <- gsub("\\ \\ \\ ", " ", or1)
cat(or1)
```
```{r sessionInfo, echo = FALSE}
sessionInfo()
```
Available under
[Created Commons license 3.0 <img src="http://crmda.dept.ku.edu/images/cc-3.0.png" alt="CC BY"
style="width: 75px;height: 20px;"/>](http://creativecommons.org/licenses/by/3.0/)
Спасибо за ваше внимание. Я понимаю. Я удалю пробелы, потому что я не хочу добавлять новую зависимость. – pauljohn32
@ pauljohn32 Не могли бы вы указать, какие ведущие пробелы вызывают это. Я сталкиваюсь с сопоставимой проблемой. – Michael