I'm using the `transpose` function on data frames that are coming out of R, but I was surprised to note that if one of my columns is either an empty string (`""`) or a missing value (`NA_character_` in R or `null` in OJS), the entire row is lost, even if the field in question isn't touched by OJS otherwise.

For example:

```r
library(tidyverse)
test <-
  tibble(rowid = 1:15, value = rowid ^ 2, condition = letters[1:15]) %>%
  mutate(condition = case_when(
    rowid %% 5 == 0 ~ NA_character_,
    rowid %% 3 == 0 ~ "",
    TRUE ~ condition))
test
# # A tibble: 15 × 3
#    rowid value condition
#    <int> <dbl> <chr>    
#  1     1     1 "a"      
#  2     2     4 "b"      
#  3     3     9 ""       
#  4     4    16 "d"      
#  5     5    25  NA      
#  6     6    36 ""       
#  7     7    49 "g"      
#  8     8    64 "h"      
#  9     9    81 ""       
# 10    10   100  NA      
# 11    11   121 "k"      
# 12    12   144 ""       
# 13    13   169 "m"      
# 14    14   196 "n"      
# 15    15   225  NA 

ojs_define(test)
```
And then in OJS:

```js
console.log("Original data");
console.log(test);
Plot.barY(transpose(test), {x: "rowid", y: "value"}).plot()
```
![image](https://user-images.githubusercontent.com/6520659/159412858-a08cd0ed-93a6-4bfa-9c7a-537c7ae8bfb5.png)

Note that bars with an X divisible by 3 or 5 are missing!

(I haven't tested this with non-character missing data)
cscheid
2022-03-22T05:18:08Z
jimjam-slam
closed
transpose() drop entire rows with any missing values or empty strings
https://github.com/quarto-dev/quarto-cli/issues/451