我用了knitr进行可重复编程,有两个chunk,分别叫chunkA和chunkB吧,chunk option中都将cache设置成了TRUE。chunkA中画了两幅图形,chunkB中将chunkA中的两幅图形进行一页多图,并且chunkB中设置dependson = "chunkA"。现在的问题是,chunkA中的图形有改变,chunkB中的合成图并没有变化。不知道是什么原因,求指教。
8 天 后
没有高手指点吗?自己顶一个。
2 年 后

两年了,这个问题依然存在,也依然没有人回答,感觉好寂寞。我的笨拙方法是在chunkB中随便修改一下注释,相当于chunkB中的内容有变更,当然chunkB中出的图也会更新了。但这不是好的方法。
说了这么多,还是没有高手帮帮我吗?好无助又无奈的样子!

    dugucan 😅 两年了,难道你从来没想过按照新手须知的范例将问题描述得更清晰点,并提供一个可重复示例吗?网上有一些和 knitr cache 相关的问答,问题(比如这个)似乎都得到了解决;有可能你的这个问题比较特别,和网上之前的讨论不同,不论如何,有一个可复现的例子可以方便别人提供协助。

      Liechi 不好意思啊。我柑橘我的描述也挺清楚的啊,如果遇到过这个问题的人看了会明白(::)。谢谢你提供的链接,不过上面提到的问题是怎么depends on一个cache=FALSE的代码块,和我的不一样。

        dugucan

        试了一下完全没问题啊:

        html
        source

        我把chunk3设置为{r chunk3, dependson="chunk1"}

        然后修改了chunk1里的gg1, 作为对照的chunk2并没有设置dependson,knit两遍之后没有任何变化。chunk3里的图地随chunk1变化,完全符合dependson选项的预期,无法复现你的问题。


        你的描述很清楚,看了也明白,但是没有实际代码很难复现你的问题的话又怎么帮你解决问题呢。两年没解决问题感觉好寂寞那是你的问题,毕竟没人有义务帮你

        所以这也是为什么Liechi 要你提供可重复示例,也就是像我上面提供的rmd一样。理由在置顶的新手须知里写得很清楚了,核心就是:

        You should help me to help you!

          dugucan 那个是举例子;类似的例子有一些,但是细节上不尽相同。我认为你的问题跟他不一样,但是没有一个具体的例子,别人靠脑补来还原具体问题不易。

          你认为遇到同样的问题的人都知道你在说什么,但我根据你的描述测试了一下,没有遇到类似的问题。我不知道我的操作和你的是否一致,所以才建议你提供一下可重复示例。如果你寄希望于该论坛里有遇到过同样问题的人(可能没有你想象的那么多),看一眼就心下了然,莫逆于心,操起键盘就扔个解法出来,那可能概率不大。

          不管问题描述是否清楚,有可重复例子,大家运行代码,一起找茬的动力会足些。

          确实如此。解决方案往往是调试出来的。很少是拍脑子想出来的。

          我看到这个问题后,第一反应是我得先做这么个文档,要花时间;做完文档后,万一问题重现不出来,还得发帖问;发帖问也不一定得到答复。有这个时间,我还是干点别的吧。

            dapengde 道尽了回答问题的宝宝们心里的苦。问问题的人往往意识不到别人要回答他的问题需要费多少额外的周章,这个现象太普遍了(没有谴责的意思),我早已经心力交瘁,所以碰到不提供例子的问题,我现在都是默默飘过,就像两年前看见这个帖子一样。以前还提醒一下请提供可重复的例子,后来这话说了一千遍后实在扛不住了,还是让其他人(比如 tctcab立地成佛算了。作为问问题的人,一定要把回答问题的人需要做的事情简化到极致,扫清一切回答问题的体力和心理障碍。别让人猜、别让人自己打字、别让人追问十二遍。最理想的情况就是,别人看见你的问题只需要做一件事:复制、粘贴、运行。问题可重现!相视一笑,一句多余的话都不用说。

            晚风中布满我的歌声
            道尽多少旧梦前尘
            夜色中只看到彼此眼神
            我俩终会消失在那黄昏

            帖子中布满你的可重复例子,道尽所有需要的细节,你的例子和我对视一会儿之后,问题终将消失在黄昏。

            dugucan 你滴,明白?

              yihui 这首歌我会唱,罗文的《黄昏》,电视连续剧《刺马》主题歌。