Emacs, ESS and Rmarkdown: Is this the way compile is supposed to work?

140 Views Asked by At

I'm trying to get Emacs, ESS and Rmarkdown to work together for the first time. Therefore, the problem might be me, and not the software.

I have this program as Prob_11.Rmd:

---
title: "Problem 11, Page 414"
author: "Kevin"
date: "13 Apr 2023"
output: html_document
---

### Load the sample data ###

Loading the sample data table into two vectors:

``` {r}

(age11 <- c(18, 10, 3, 15, 12, 14, 15, 4, 20, 8))

(age16 <- c(6, 7, 14, 5, 14, 12, 3, 9, 4, 7))

```

I get this as output after choosing Markdown->Preview & Export->Compile:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>*markdown-output*</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

</head>

<body>

<h3 id="load-the-sample-data">Load the sample data</h3>
<p>Loading the sample data table into two vectors:</p>
<pre class="{r}"><code>
(age11 &lt;- c(18, 10, 3, 15, 12, 14, 15, 4, 20, 8))

(age16 &lt;- c(6, 7, 14, 5, 14, 12, 3, 9, 4, 7))
</code></pre>

</body>
</html>

This looks correct, except that I was expecting the last two lines to look like:

> (age11 <- c(18, 10, 3, 15, 12, 14, 15, 4, 20, 8))
 [1] 18 10  3 15 12 14 15  4 20  8
> (age16 <- c(6, 7, 14, 5, 14, 12, 3, 9, 4, 7))
 [1]  6  7 14  5 14 12  3  9  4  7

Am I doing something wrong? Am I misunderstanding what RMarkdown is doing? I tried options like 'echo=TRUE' and 'eval=TRUE' without success.

1

There are 1 best solutions below

0
Kevin Zembower On

Thanks to Dirk Eddelbuettel's suggestion of his render.r executable, I was able to boil it down to the commands I need to render the Rmarkdown.

I run this once in the R console window of Emacs running ESS:

   library(rmarkdown)

Then, everytime I want to update the document I'm working on, I run:

   render("working_file.Rmd")

For me, that outputs an HTML document, that I view in my browser.

I feel certain that there's a better, easier way to do this, in the Emacs/ESS/poly-R/Rmarkdown system, but this is what I needed to get me unstuck, and until I have some time to spare, this is as far as I'm taking it.