Skip to content

Error when displaying object in Quarto website with df-print:paged: arguments imply differing number of rows #13860

@isaactpetersen

Description

@isaactpetersen

I have:

  • searched the issue tracker for similar issues
  • installed the latest version of Quarto CLI
  • formatted my issue following the Bug Reports guide

Bug description

I receive an error when trying to display an object in Quarto via GitHub Actions on Linux using df-print:paged. Specifically, the object is pooled results from a lm() fit to multiply imputed data (imputed using the mice package). I receive the error when pooling results using mice::pool() in Quarto (when running on GitHub Actions). Oddly enough, I don't receive an error when running the code in a .R file locally on my PC (or even when running the code in a .R file on Linux GitHub Actions). However, I do receive the error locally on my PC when using Quarto. Interestingly, I seem to receive the error when I specify df-print:paged in the _quarto.yml file. I do not receive the error when I remove df-print:paged in the _quarto.yml file. I had previously posted the bug in amices/mice#733, but it seems it may be a Quarto bug.

Here is the error I receive:

Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 1 has 1 row to replace 0 rows
Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 2 has 1 row to replace 0 rows

Error:
! arguments imply differing number of rows: 1, 0

The error seems related to the following issue: rstudio/rstudio#15459.

In summary:

Steps to reproduce

Here is a link to a reproducible example:
https://isaactpetersen.github.io/QuartoReprexForEdit/ (archived at https://perma.cc/Q5ZS-BP4E)

Here is the code that generates the reproducible example:
https://github.com/isaactpetersen/QuartoReprexForEdit/blob/main/index.qmd

Here is the output:

# Load libraries
library("mice")
#> 
#> Attaching package: 'mice'
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following objects are masked from 'package:base':
#> 
#>     cbind, rbind

# Impute data
imp <- mice::mice(
  nhanes,
  maxit = 2,
  m = 2)
#> 
#>  iter imp variable
#>   1   1  bmi  hyp  chl
#>   1   2  bmi  hyp  chl
#>   2   1  bmi  hyp  chl
#>   2   2  bmi  hyp  chl

# Fit regression model to multiply imputed data
fit <- with(
  data = imp,
  exp = lm(bmi ~ hyp + chl))

# Pool results across models
fit_pooled <- mice::pool(fit)

# Summarize pooled results
fit_pooled

Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 1 has 1 row to replace 0 rows
Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 2 has 1 row to replace 0 rows
Error:
! arguments imply differing number of rows: 1, 0

summary(fit_pooled)
#>          term   estimate  std.error statistic        df      p.value
#> 1 (Intercept) 23.5653619 4.58749728  5.136867 20.222496 4.858105e-05
#> 2         hyp -2.6735267 2.23416369 -1.196657  9.102038 2.616789e-01
#> 3         chl  0.0350338 0.02406278  1.455933 18.483798 1.621871e-01

# Session Info
sessionInfo()
#> R version 4.5.2 (2025-10-31)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.3 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
#> 
#> locale:
#>  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
#>  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
#>  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
#> [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
#> 
#> time zone: UTC
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] mice_3.19.0
#> 
#> loaded via a namespace (and not attached):
#>  [1] generics_0.1.4     tidyr_1.3.2        shape_1.4.6.1      lattice_0.22-7    
#>  [5] lme4_1.1-38        digest_0.6.39      magrittr_2.0.4     mitml_0.4-5       
#>  [9] evaluate_1.0.5     grid_4.5.2         iterators_1.0.14   fastmap_1.2.0     
#> [13] foreach_1.5.2      jomo_2.7-6         glmnet_4.1-10      Matrix_1.7-4      
#> [17] nnet_7.3-20        backports_1.5.0    survival_3.8-3     purrr_1.2.0       
#> [21] codetools_0.2-20   reformulas_0.4.3.1 Rdpack_2.6.4       cli_3.6.5         
#> [25] rlang_1.1.6        rbibutils_2.4      splines_4.5.2      reprex_2.1.1      
#> [29] withr_3.0.2        yaml_2.3.12        pan_1.9            tools_4.5.2       
#> [33] nloptr_2.2.1       minqa_1.2.8        dplyr_1.1.4        boot_1.3-32       
#> [37] broom_1.0.11       vctrs_0.6.5        R6_2.6.1           rpart_4.1.24      
#> [41] lifecycle_1.0.5    fs_1.6.6           MASS_7.3-65        pkgconfig_2.0.3   
#> [45] pillar_1.11.1      glue_1.8.0         Rcpp_1.1.0         xfun_0.55         
#> [49] tibble_3.3.0       tidyselect_1.2.1   knitr_1.51         htmltools_0.5.9   
#> [53] nlme_3.1-168       rmarkdown_2.30     compiler_4.5.2

Actual behavior

Error:

Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 1 has 1 row to replace 0 rows
Warning in `[<-.data.frame`(`*tmp*`, is_list, value = list(`3` = "<df[,11] [0 ×
11]>", : replacement element 2 has 1 row to replace 0 rows

Error:
! arguments imply differing number of rows: 1, 0

Expected behavior

Display the object without error

Your environment

  • IDE: none used for GitHub Actions
  • OS: Ubuntu 24.04.3 LTS

Quarto check output

quarto --version
  quarto check
  shell: /usr/bin/bash -e {0}
  env:
    BUNDLE_EXT: linux-amd64.deb
1.8.26
Quarto 1.8.26

[✓] Checking environment information...
      Quarto cache location: /home/runner/.cache/quarto

[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.6.3: OK
      Dart Sass version 1.87.0: OK
      Deno version 2.3.1: OK
      Typst version 0.13.0: OK

[✓] Checking versions of quarto dependencies......OK

[✓] Checking Quarto installation......OK
      Version: 1.8.26
      Path: /opt/quarto/bin


[✓] Checking tools....................OK
      TinyTeX: (not installed)
      Chromium: (not installed)


[✓] Checking LaTeX....................OK
      Tex:  (not detected)


[✓] Checking Chrome Headless....................OK
      Using: Chrome found on system
      Path: /usr/bin/google-chrome
      Source: PATH


(|) Checking basic markdown render....
[✓] Checking basic markdown render....OK


(|) Checking Python 3 installation....
[✓] Checking Python 3 installation....OK
      Version: 3.12.3
      Path: /usr/bin/python3
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

      There is a requirements.txt file in this directory. Is this for a venv that you need to restore?


[✓] Checking R installation...........(None)

      Unable to locate an installed version of R.
      Install R from https://cloud.r-project.org/

Metadata

Metadata

Assignees

No one assigned

    Labels

    supporta request for support

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions