【问题标题】:Compile Knitr .Rnw from R file, problems with do.call()从 R 文件编译 Knitr .Rnw,do.call() 出现问题
【发布时间】:2014-09-13 03:22:30
【问题描述】:

我正在从 .R 文件编译 knitr 文档:

knit2pdf(example.Rnw, output=paste0(name,".tex"))

但是在文档example.Rnw中,有函数:

do.call(cbind,mget(as.character(rep_names)))

rep_names 是循环创建的一些数据帧的名称,我想合并这些数据帧。问题是我不知道创建的数据框的确切数量。

如果我直接从 knitr 编译文档可以完美运行,但是当我从 .R 文件执行时,他没有找到 rep_names 的对象。 .pdf 输出示例。

## Error: value for ’Object_1’ not found

其中 Object_1 是 rep_names[1]。问题是对象是在哪个会话上创建的?

【问题讨论】:

    标签: r knitr rnw


    【解决方案1】:

    如果没有可重现的示例,很难在这里提供任何帮助。看看你所拥有的,我想你应该改变创建数据框的方式,将它们放在一个列表中,而不是作为全局环境中的命名对象。这样您就可以将有问题的行更改为do.call(cbind, listofdfs)。这里有很多问题和答案都推荐了这种策略。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多