Evaluate a variable so that it can appear in a code block for R markdown












2















I am using R Markdown to generate practice problems for a statistics class, and I like to include some randomness so that there can be multiple versions of the same problem. The students are just starting to use R themselves and I would like to be able to show the correct values in the answer R code. Basically I want to achieve something like this...



Question:



```{r, include=FALSE}
conf <- sample(c(0.9,0.95,0.99), 1)
```
What is the `r conf * 100`% confidence interval for the slope coefficient of your regression "reg"?


Answer:



To get the correct answer run the following code
```{r}
confint(reg, level = magic_function(conf))
````


where the magic_function is some function that will make the code block in the generated document look something like this...



confint(reg, level = 0.95)









share|improve this question


















  • 3





    I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

    – user2554330
    Nov 28 '18 at 17:33
















2















I am using R Markdown to generate practice problems for a statistics class, and I like to include some randomness so that there can be multiple versions of the same problem. The students are just starting to use R themselves and I would like to be able to show the correct values in the answer R code. Basically I want to achieve something like this...



Question:



```{r, include=FALSE}
conf <- sample(c(0.9,0.95,0.99), 1)
```
What is the `r conf * 100`% confidence interval for the slope coefficient of your regression "reg"?


Answer:



To get the correct answer run the following code
```{r}
confint(reg, level = magic_function(conf))
````


where the magic_function is some function that will make the code block in the generated document look something like this...



confint(reg, level = 0.95)









share|improve this question


















  • 3





    I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

    – user2554330
    Nov 28 '18 at 17:33














2












2








2








I am using R Markdown to generate practice problems for a statistics class, and I like to include some randomness so that there can be multiple versions of the same problem. The students are just starting to use R themselves and I would like to be able to show the correct values in the answer R code. Basically I want to achieve something like this...



Question:



```{r, include=FALSE}
conf <- sample(c(0.9,0.95,0.99), 1)
```
What is the `r conf * 100`% confidence interval for the slope coefficient of your regression "reg"?


Answer:



To get the correct answer run the following code
```{r}
confint(reg, level = magic_function(conf))
````


where the magic_function is some function that will make the code block in the generated document look something like this...



confint(reg, level = 0.95)









share|improve this question














I am using R Markdown to generate practice problems for a statistics class, and I like to include some randomness so that there can be multiple versions of the same problem. The students are just starting to use R themselves and I would like to be able to show the correct values in the answer R code. Basically I want to achieve something like this...



Question:



```{r, include=FALSE}
conf <- sample(c(0.9,0.95,0.99), 1)
```
What is the `r conf * 100`% confidence interval for the slope coefficient of your regression "reg"?


Answer:



To get the correct answer run the following code
```{r}
confint(reg, level = magic_function(conf))
````


where the magic_function is some function that will make the code block in the generated document look something like this...



confint(reg, level = 0.95)






r r-markdown knitr






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 28 '18 at 17:19









Joseph StoverJoseph Stover

46729




46729








  • 3





    I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

    – user2554330
    Nov 28 '18 at 17:33














  • 3





    I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

    – user2554330
    Nov 28 '18 at 17:33








3




3





I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

– user2554330
Nov 28 '18 at 17:33





I think this can be done using knit_expand; see the regression model example in the knit_expand vignette.

– user2554330
Nov 28 '18 at 17:33












1 Answer
1






active

oldest

votes


















2














Thanks to user2554330 for putting me on the right path. The following gets me the desired result, although there may be a better way to do this



Answer:



To get the correct answer run the following code
```{r, include=FALSE}
code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
```
`r paste(knitr::knit(text = code), collapse = 'n')`


UPDATE



It seems that if you want to have more than one such code chunk, you will need to use knit_child instead of knit, like so



Answer:



To get the correct answer run the following code
```{r, include=FALSE}
code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
```
`r paste(knitr::knit_child(text = code), collapse = 'n')`





share|improve this answer


























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53524879%2fevaluate-a-variable-so-that-it-can-appear-in-a-code-block-for-r-markdown%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Thanks to user2554330 for putting me on the right path. The following gets me the desired result, although there may be a better way to do this



    Answer:



    To get the correct answer run the following code
    ```{r, include=FALSE}
    code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
    ```
    `r paste(knitr::knit(text = code), collapse = 'n')`


    UPDATE



    It seems that if you want to have more than one such code chunk, you will need to use knit_child instead of knit, like so



    Answer:



    To get the correct answer run the following code
    ```{r, include=FALSE}
    code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
    ```
    `r paste(knitr::knit_child(text = code), collapse = 'n')`





    share|improve this answer






























      2














      Thanks to user2554330 for putting me on the right path. The following gets me the desired result, although there may be a better way to do this



      Answer:



      To get the correct answer run the following code
      ```{r, include=FALSE}
      code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
      ```
      `r paste(knitr::knit(text = code), collapse = 'n')`


      UPDATE



      It seems that if you want to have more than one such code chunk, you will need to use knit_child instead of knit, like so



      Answer:



      To get the correct answer run the following code
      ```{r, include=FALSE}
      code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
      ```
      `r paste(knitr::knit_child(text = code), collapse = 'n')`





      share|improve this answer




























        2












        2








        2







        Thanks to user2554330 for putting me on the right path. The following gets me the desired result, although there may be a better way to do this



        Answer:



        To get the correct answer run the following code
        ```{r, include=FALSE}
        code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
        ```
        `r paste(knitr::knit(text = code), collapse = 'n')`


        UPDATE



        It seems that if you want to have more than one such code chunk, you will need to use knit_child instead of knit, like so



        Answer:



        To get the correct answer run the following code
        ```{r, include=FALSE}
        code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
        ```
        `r paste(knitr::knit_child(text = code), collapse = 'n')`





        share|improve this answer















        Thanks to user2554330 for putting me on the right path. The following gets me the desired result, although there may be a better way to do this



        Answer:



        To get the correct answer run the following code
        ```{r, include=FALSE}
        code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
        ```
        `r paste(knitr::knit(text = code), collapse = 'n')`


        UPDATE



        It seems that if you want to have more than one such code chunk, you will need to use knit_child instead of knit, like so



        Answer:



        To get the correct answer run the following code
        ```{r, include=FALSE}
        code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
        ```
        `r paste(knitr::knit_child(text = code), collapse = 'n')`






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 28 '18 at 20:32

























        answered Nov 28 '18 at 19:27









        Joseph StoverJoseph Stover

        46729




        46729
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53524879%2fevaluate-a-variable-so-that-it-can-appear-in-a-code-block-for-r-markdown%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)