

Rでtidyverseとqiime2Rを用いて作図を試みています。  
データを入力してスクリプトを実行すると、  
1回目は作図されるのですが、図を保存して図ウィンドウ（Quartz）を閉じ、再度同じスクリプトを入力すると、

> UseMethod("depth") でエラー:  
>  'depth' をクラス "NULL" のオブジェクトに適用できるようなメソッドがありません

と表示されて作図されません。

同じデータと同じスクリプトを使用しているにもかかわらず、一体何が問題なのでしょうか。  
ご教授いただけましたら幸いです。

[code]

    metadata<-read_q2metadata("metadata.tsv")
    pco<-read_qza("unweighted_unifrac_pcoa_results.qza")
    
    pco$data$Vectors %>%
      select(SampleID, PC1, PC2) %>%
      left_join(metadata) %>%
      ggplot(aes(x=PC1, y=PC2, color=`Strain`, shape=`FeedSex`)) +
      geom_point(alpha=.7, size=3) +
      theme_bw() +
      xlab(paste("PC1: ", round(100*pco$data$ProportionExplained[1], 2), "%")) +
      ylab(paste("PC2: ", round(100*pco$data$ProportionExplained[2], 2), "%")) +
      scale_shape_manual(values=c(16,1,17,2,15,0), name="Feed-Sex") +
      scale_color_manual(values=c("red","blue","darkgreen"), name="Strain") +
      guides(shape=guide_legend(order=2), color=guide_legend(order=1)) +
      ggtitle("Unweighted UniFrac") +
      theme(aspect.ratio=1, plot.title=element_text(size=20, face="bold"))
    
[/code]

R for Mac: 4.0.2  
tidyverse: 1.3.0  
qiime2R: 0.99.20

reference: Plotting PCoA  
<https://forum.qiime2.org/t/tutorial-integrating-qiime2-and-r-for-data-
visualization-and-analysis-using-qiime2r/4121>

書けるだけの情報を記載いたしました。  
情報が足りないようでしたらお知らせください。

どうぞよろしくお願いいたします。


CC BY-SA 4.0
2020-07-29T08:51:05.770
69092
2022-03-05T09:02:40.297
38287
question
r tidyverse ggplot2
ggplot2で図が表示されたりされなかったりする。


過去の事例を探ると、Mac におけるこのエラーは ggplot2
のバグである可能性があります。[コメント](https://github.com/tidyverse/ggplot2/issues/3538#issuecomment-633306033)によるとグリッド周りのバグのようで、2020
年 7 月現在まだ直っていないように見えます。

  * no applicable method for 'depth' applied to an object of class "NULL" <https://github.com/tidyverse/ggplot2/issues/2514>
  * traceback() for no applicable method for 'depth' applied to an object of class "NULL" <https://github.com/tidyverse/ggplot2/issues/3538>

ひとつ目の投稿によると、とりあえずの処置として、`ggplot(ほにゃらら)` でグラフ描画するのではなく、

[code]

    the_plot <- ggplot(ほにゃらら)
    the_plot
    
[/code]

のようにグラフ描画すると回避できる場合があるようです。


CC BY-SA 4.0
2020-07-29T15:07:59.867
69103
2020-07-29T15:07:59.867
19110
69092
answer