Jestem instruktorem, który chce wykonać zadanie domowe i instrukcję rozwiązania zadania domowego z tego samego pliku Rmarkdown, zmieniając parametr dokumentu, który utworzyłem o nazwie soln
. Kiedy soln=FALSE
generowany jest dokument przydziału, a gdy soln=TRUE
generowany jest przewodnik po zadaniach domowych. Mogę kontrolować wykonanie fragmentu kodu R przy użyciu parametru dokumentu, ale chciałbym również warunkowego włączenia tekstu ze znacznikami.Czy istnieje sposób na wykonanie warunkowego wykonania fragmentu przecinku w Rmarkdown?
Moje bieżące obejście jest brzydki:
---
title: "Homework"
output: word_document
params:
soln: TRUE
---
Fit the linear regression model $Y \sim X$ with the following data.
Interpret the coefficient estimates.
```{r promptchunk, include = TRUE, echo = TRUE}
# R code I want to show in the question prompt goes here
# This executes in both assignment and solution versions
set.seed(123)
X <- c(1, 1, 0, 0)
Y <- rnorm(4)
```
```{r, include = params$soln, echo = FALSE, results = "asis"}
cat("
**ANSWER**
")
```
```{r, echo = params$soln, include = params$soln, eval = params$soln}
# R code corresponding to the solution
fit1 <- lm(Y ~ X)
summary(fit1)
```
```{r, include = params$soln, echo = FALSE, eval = params$soln, results = "asis"}
cat("
The interpretation of the intercept is....
Our estimate $\\hat{\\beta}_0$ is ",coef(fit1)[1],".
The estimated X coefficient $\\hat{\\beta}_1$ is ",coef(fit1)[2],"
This can be interpreted as....
You can imagine that for more difficult questions, this section could be quite long.
")
```
Co chciałbym zrobić, to wymienić klocki zawierające cat
funkcje z czymś bardziej elegancki i czytelny dla osoby pisanie instrukcji rozwiązań. Moje obecne podejście działa dla mnie wystarczająco, ale nie jest to coś, o co mógłbym poprosić moich instruktorów, ponieważ tak nieprzyjemne jest pisanie rozwiązań wewnątrz funkcji cat
. (Jako użytkownik LaTeX denerwuje również konieczność podwójnego ukośnika we wszystkich poleceniach matematycznych.)
Czy jest jeszcze inny sposób na zrobienie tego?
Mówisz, że aktualna wersja „działa”, ale chcesz coś łatwiejsze do zrozumienia i utrzymania? Czy możesz dodać przykład prawdziwego pytania, które chciałbyś zadać wraz z rozwiązaniem, abyśmy mogli zorientować się, co należy zrobić w kodzie R, a co jest tylko tekstem? – eipi10
@ eip10, Mam zaktualizowane moje pytanie. Obecna wersja działa, ale przy warunkowej realizacji porcji, która musi być zapakowana w funkcję "cat", jest mniej intuicyjna i trudniejsza do odczytu i zapisu niż typowy Rmarkdown.Próbuję uzyskać instruktorów na pokładzie z odtwarzalnością i ogólnie z Rmattdown, ale nie mogę pokazać im tego bałaganu i oczekuję buy-inu. Myślę, że szukam sposobu na ominięcie R jako silnika do obsługi określonych fragmentów tekstu. – thatssobayesic
Może warunkowo zawierać pliki podczas robienia na drutach? Wydaje się dziwne, że robimy cały tekst wewnątrz bloku kodu. Może przyjrzyj się książkom i/lub notatkom. – Elin