Thanks iroha, for your answer, and for clarifying my question. You're right, it's a problem with the interactive rendering. (The "clever but unorthodox" approach was developed by a T.A., so I can take no credit.)
Rendering from the console works just fine. I just hate having two separate files: one with the RMD and one with the code for rendering it twice.
I did try all sorts of variations on knit_print, also to no avail.
Using the editor_options in the YAML does seem to work with ciAUC(), but doesn't seem to help with describeBy(). My workaround for describeBy() has been to use the mat = TRUE argument, save it to an object, and then knitr::kable() the object, though I think I'll switch to Tim G's workaround.