问题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 <-合计(df $ Amount,by = list(国家= df $国家,产品= df $产品,年= df $年),FUN =总和)
答案 0 :(得分: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
-您可能在控制台中定义了它。