Users who have contributed to this file

Frequently Asked Questions

This FAQ is compiled from the issues and messages I received from blog posts and emails, etc. Personally I'm not big fan of FAQ's, and I believe sometimes FAQ's are nearly bugs. Software package authors should think why users ask some questions so frequently (it is unlikely that users are always stupid). At least I'm not patient enough to read, say, 128 FAQ's one by one, so I won't let you do it, either.

knitr does not work...

Please first update all your R packages (use update.packages()) and probably R itself (what is the current R version?), then see if it works; if not, please file an issue to me with a minimal reproducible example and the output of library(knitr); sessionInfo().

What is the best place to ask questions when the package website is not helpful?

Depending what you want to ask, you may use these tools (I keep track of the first three more frequently):

Where are those prompt characters > and +? I feel uncomfortable reading R output without them.

They are removed by default, because I believe they make no sense. This is the reason why I dislike books on R which used > and +; they twist my mind and make my eyes bleed when I read the R code in the books. For those who really want to read R code like > 1+1 instead of 1 + 1, you have the chunk optionprompt.

What is the working directory? Can I change my working directory in my code chunks?

You'd better not do this. Your working directory is always getwd() (all output files will be written here), but the code chunks are evaluated under the directory where your input document comes from. Changing working directories while running R code is a bad practice in general. See #38 for a discussion. You should also try to avoid absolute directories whenever possible (use relative directories instead), because it makes things less reproducible. If you do still decide to use setwd in a code chunk, beware that the new working directory will only apply to that specific code chunk, and any following code chunks will revert back to use the original working directory.

The gray (shading) box is too narrow for my output.

No, it is not because the box is too narrow (the box uses the current line width); it is because your output is too wide. Use a smaller width option to avoid text output exceeding the page margin, e.g. options(width = 60) (see example 038).

How can I write a literal code chunk? i.e. write a code chunk which is not parsed and useful for tutorials?

You need to destroy the chunk header, e.g. add an empty string before the chunk header: \Sexpr{''}<<label, what=ever>>=, or `r ''` ```{r label, what=ever} (#443), or add a zero-width space into the chunk header; see example 065

For inline R code, you may use the function knitr::inline_expr() (available in knitr >= v1.8)