Ошибка в plot.new (): слишком большие поля в Rmarkdown - PullRequest
0 голосов
/ 18 декабря 2018

У меня странная проблема в Rmarkdown.Следующий код работает безупречно, если он должен составлять только 3-4 набора данных (проверено), но как только число наборов данных увеличится до 9 или более.Я получаю странную ошибку.

код:

```{r scRNALoadData, echo=FALSE, message=FALSE, warning=FALSE, include=TRUE, warnings=FALSE, eval=TRUE, results="asis"}
# Loading of libraries 
suppressPackageStartupMessages(library(scater))
suppressPackageStartupMessages(library(mvoutlier))
suppressPackageStartupMessages(library(Rtsne))
suppressPackageStartupMessages(library(limma))
suppressPackageStartupMessages(library(ggplot2))
suppressPackageStartupMessages(library(repr))
suppressPackageStartupMessages(library(cowplot))
suppressPackageStartupMessages(library(knitr))
suppressPackageStartupMessages(library(Matrix))
suppressPackageStartupMessages(library(rmarkdown))
suppressPackageStartupMessages(library(SingleCellExperiment))
suppressPackageStartupMessages(library(scran))
suppressPackageStartupMessages(library(scRNAseq))
#suppressPackageStartupMessages(library(iSEE))
suppressPackageStartupMessages(library(SCopeLoomR))
options(stringsAsFactors = FALSE)
# Loading expression data
loadSCE <- function(path){
  sce <- scater::read10XResults(path)
  #sce <- normalize(sce) # Data normalization based on scran
  mitochondrialGenes <- as.character(rowData(sce)[startsWith(rowData(sce)$symbol, "mt-"),]$id)
  isSpike(sce, "mt") <- rownames(sce) %in% mitochondrialGenes
  sce <- calculateQCMetrics(sce, 
                            feature_controls = list(
                              MT =  isSpike(sce, "mt")
                            ))
}
# Read-in expression sample scRNA matrix from directory
paths <- list.dirs(path = "/Abhi/test/test2/", recursive = FALSE)
for (i in 1:length(paths))
  assign(paste0("sce_",i), loadSCE(paths[i]))
sce=0
for (i in 1:length(paths))
  sce[i]<-print(noquote(paste0("sce_",i)))
t_list <- list()
t_list <- mget(ls(pattern="sce_\\d+"))
for(i in seq_along(t_list))
{
  metadata(t_list[[i]])["name"] <- paste0("iMates-",i)
}
```
&nbsp;&nbsp;

### Library size

``` {r scRNALibrarySize, echo=FALSE, message=FALSE, warning=FALSE, include=TRUE, warnings=FALSE, eval=TRUE, results="asis"}
      # Single Cell RNA plot library histogram
      plotLibrarySize <- function(sce, cutoffPoint){
        options(repr.plot.width=4, repr.plot.height=4)
        hist(
          sce$total_counts,
          breaks = 100
        )
        abline(v = cutoffPoint, col = "red")
      }
      # Single Cell RNA plot library box
      plotLibrarySize.Box <- function(sce, cutoffPoint){
        options(repr.plot.width=4, repr.plot.height=4)
        (sce$total_counts)
      }
      # Summary stats
      for (i in 1:length(paths))
        print(sum(get(sce[i])$total_counts))
      # Plot histograms library size
      l<-length(paths)
      ll<-round(l/2, digits=0)
      par(mfrow=c(ll,2))
      for  (i in 1:length(paths)) {
        plotLibrarySize(get(paste0("sce_",i)), 2500) }
      # Plot box library size
      l<-length(paths)
      par(mfrow=c(ll,2))
      for  (i in 1:length(paths)) {
        b<-plotLibrarySize.Box(get(paste0("sce_",i)),2500)
        boxplot(b)
      }
```

Я получаю ошибку:

Quitting from lines 48-79 (tq.Rmd) 
Error in plot.new() : figure margins too large
Calls: <Anonymous> ... hist -> hist.default -> plot -> plot.histogram -> plot.new
Execution halted

Где строка 48 начинаетсявторой блок кода R.

Может кто-нибудь помочь мне исправить эту ошибку.

Я видел и другие посты

"Ошибка в plot.new(): слишком большие поля для рисунков "

Я выполнил код как в консоли, так и в rstudio.

Заранее большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...