Evaluate a variable so that it can appear in a code block for R markdown
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
add a comment |
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
3
I think this can be done usingknit_expand
; see the regression model example in theknit_expand
vignette.
– user2554330
Nov 28 '18 at 17:33
add a comment |
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
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
r r-markdown knitr
asked Nov 28 '18 at 17:19
Joseph StoverJoseph Stover
46729
46729
3
I think this can be done usingknit_expand
; see the regression model example in theknit_expand
vignette.
– user2554330
Nov 28 '18 at 17:33
add a comment |
3
I think this can be done usingknit_expand
; see the regression model example in theknit_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
add a comment |
1 Answer
1
active
oldest
votes
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')`
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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')`
add a comment |
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')`
add a comment |
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')`
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')`
edited Nov 28 '18 at 20:32
answered Nov 28 '18 at 19:27
Joseph StoverJoseph Stover
46729
46729
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
3
I think this can be done using
knit_expand
; see the regression model example in theknit_expand
vignette.– user2554330
Nov 28 '18 at 17:33