I just ran into an issue where results look fine in the terminal, but not in the results of a source block. I can't share the real example as it's work confidential, but a couple of rows across 7 columns looks like this in the terminal:
#+begin_example terminal dbGetQuery(con, paste0("SELECT TOP 2 * FROM table")) 1 <NA> NA NA <NA> FALSE 0 5 2 <NA> NA NA <NA> FALSE 0 5 #+end_example When I use this with :exports results :results output drawer in my document, I get: #+begin_example src 1 < NA NA < FALSE 0 5 2 < NA NA < FALSE 0 5 #+end_example I had an entirely separate email written and about to send, when it dawned on me that the > character is the same as the R terminal prompt and might be the cause. My first attempt to reproduce was unsuccessful: #+begin_src R :session :exports results :results output drawer df <- data.frame( x = letters[1:3], y = c(1, 2, NA), z = c("x", NA,"z")) df #+end_src #+RESULTS: :results: x y z 1 a 1 x 2 b 2 <NA> 3 c NA z :end: I'm not sure if it's about more columns or more rows, but this does the trick: #+begin_src R :session :exports results :results output drawer df <- data.frame( x = letters[1:7], y = c(1, 2, NA, NA, NA, NA, NA), z = c("x", NA, NA, NA, NA, NA, "z"), a = c(1, rep(NA, 6))) df #+end_src #+RESULTS: :results: x y z a 1 a 1 x 1 2 b 2 < NA 3 c NA < NA ### ... shortened :end: If you comment out the line with z=, it works again... but that's the column with all the <NA> values. Then again, if you end the data.frame at z and don't add column a, it *also* works despite the presence of many <NA> values. #+RESULTS: :results: x y z 1 a 1 x 2 b 2 <NA> 3 c NA <NA> ### ... shortened :end: I'm imagining there's a... "parser?" somewhere that typically strips off the command prompt from the results perhaps (and recall some vague memory of someone telling me this years ago on the list). Is there a way to stop this from happening? Would this line be responsible, or something else? https://github.com/bzg/org-mode/blob/main/lisp/ob-R.el#L453 Many thanks, John