代码在控制台中完美运行,但出现错误:编织到 pdf 时没有要聚合的行

Posted

技术标签:

【中文标题】代码在控制台中完美运行,但出现错误:编织到 pdf 时没有要聚合的行【英文标题】:Code is running perfectly in the console but giving error: no rows to aggregate when knitting to pdf 【发布时间】:2020-10-12 04:35:37 【问题描述】:

问题 3- 计算城市每年在每种产品上的支出。

df :

S.No. Country   Product     Year    Amount

1.     US        GOLD       2004    487330
2.     UK       SILVER      2005    345701
3.    RUSSIA   PLATINUM     2006    450000
4.    INDIA    PLATINUM     2004    439980
5.    FRANCE     GOLD       2005    546000
6.    FRANCE    SILVER      2004    320000
7.     UK        GOLD       2006    215000

我使用的聚合代码是:

df <- aggregate(df$Amount, 
                by = list(Country = df$Country, Product = df$Product, Year = df$Year),
                FUN = sum)

是这样的——df:

S.No.国家 产品 年份 金额

      US        GOLD       2004    487330
    
      UK       SILVER      2005    345701
    
    RUSSIA    PLATINUM     2006    450000
    
    INDIA     PLATINUM     2004    439980
    
    FRANCE      GOLD       2005    546000
    

我使用的聚合代码是:

df

【问题讨论】:

一个最小的工作示例会很好。但是,如果您的代码在控制台中运行并在您尝试将其编织为 pdf 时抛出错误,则可能是您在使用控制台时在您的环境中缺少一个变量。 再次运行 R 脚本时,它指出列 - Amount(必须聚合)不存在。但是在控制台中尝试 head() 时,它是存在的。 您能否创建一个最小的工作示例 (***.com/help/minimal-reproducible-example)。我不使用聚合,但似乎第一个参数应该是现有的 R 对象... 【参考方案1】:

我之前也遇到过这种情况,当时我才明白您的控制台环境与用于编织 Markdown 文件的环境不同。您还没有发布完整的 . Rmd 文件(如果你是从 Markdown 文件编写的),但我猜df 是在你的控制台中定义的,而不是在实际文件中。

此外,df() 被定义为 R 中的函数,如用于 F 分布的stats::df()。在不存在数据框 df 的情况下,控制台将恢复使用它。

举个例子,你可以试着说明我的观点:

在您的控制台中创建一个数据框。例如,my_df &lt;- data.frame(x=1:10, y=1:10)

打开一个新的 Markdown 文件并在文件中包含一个代码,用于打印数据帧:print(my_df)

运行 markdown 文件中的代码块,一切都会正常运行。看起来完全没有问题。如果您使用的是 Rstudio,您将在其中看到 my_df 数据框的输出。

将 .Rmd 文件编织成……任何东西。您将收到以下错误:Error in print(my_df) : object "my_df" not found...

当您在编辑器中运行代码块时,它将在您的控制台环境中运行。编织文件时,会创建一个单独的环境。记住这一点,然后检查 - 再次,我敢打赌 df 没有在你的文件中定义 - 你可能在控制台中定义了它。

【讨论】:

但即使将数据框重命名为“expend”,同样的错误。 expend

以上是关于代码在控制台中完美运行,但出现错误:编织到 pdf 时没有要聚合的行的主要内容,如果未能解决你的问题,请参考以下文章

在 WebView 问题中查看 PDF (Xamarin.ios)

R - 如何在 R 中读取多个 png 文件并编织成 pdf?

为啥 RMarkdown 中的“Knit to pdf”会引发错误?

Rstudio Rmarkdown编织到多个pdf?

编织为pdf时,R markdown链接未格式化为蓝色

使用 Rmarkdown 编织到 pdf 时遇到麻烦