代码在控制台中完美运行,但出现错误:编织到 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 <- 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?