#+title: Column and row names * Tables #+tblname: A | row1 | 11 | 12 | | row2 | 21 | 22 | #+tblname: B | | col1 | col2 | |------+------+------| | row1 | 11 | 12 | | row2 | 21 | 22 | * Current behaviour *** OK Simple identity #+begin_src R :var tab=A tab #+end_src #+results: | row1 | 11 | 12 | | row2 | 21 | 22 | *** OK Use org header line #+begin_src R :var tab=B :colnames yes tab #+end_src The X comes from R providing a default name for a missing column name #+results: | X | col1 | col2 | |------+------+------| | row1 | 11 | 12 | | row2 | 21 | 22 | *** Create rownames in R ***** Simple #+begin_src R :var tab=B array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | 1 | 4 | 7 | | 2 | 5 | 8 | | 3 | 6 | 9 | ***** OK With colnames #+begin_src R :var tab=B :colnames yes array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | a | b | c | |---+---+---| | 1 | 4 | 7 | | 2 | 5 | 8 | | 3 | 6 | 9 | * New behaviour *** OK Simple identity #+begin_src R :var tab=A tab #+end_src #+results: | row1 | 11 | 12 | | row2 | 21 | 22 | *** TODO Use org header line Header line from org table is not used. #+begin_src R :var tab=B :colnames yes tab #+end_src #+results: | row1 | 11 | 12 | |------+----+----| | row2 | 21 | 22 | *** OK Use org header line with 'rownames yes' #+begin_src R :var tab=B :colnames yes :rownames yes tab #+end_src #+results: | X | col1 | col2 | |------+------+------| | row1 | 11 | 12 | | row2 | 21 | 22 | *** TODO Create rownames in R ***** Simple #+begin_src R :var tab=B array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | 1 | 4 | 7 | | 2 | 5 | 8 | | 3 | 6 | 9 | ***** TODO With colnames Inappropriate colnames #+begin_src R :var tab=B :colnames yes array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | 1 | 4 | 7 | |---+---+---| | 2 | 5 | 8 | | 3 | 6 | 9 | ***** TODO With rownames Gets colnames but not rownames #+begin_src R :var tab=B :rownames yes array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | a | b | c | | 1 | 4 | 7 | | 2 | 5 | 8 | | 3 | 6 | 9 | ***** TODO With colnames and rownames Doesn't get rownames (?) #+begin_src R :var tab=B :colnames yes :rownames yes array(1:9, dim=c(3,3), dimnames=list(letters[1:3], letters[1:3])) #+end_src #+results: | a | b | c | |---+---+---| | 1 | 4 | 7 | | 2 | 5 | 8 | | 3 | 6 | 9 | * Org config #+TODO: TODO | OK