-3
我不太清楚为什么这段代码无法正常工作。找不到dplyr对象错误
这里是我的数据看起来像:
head(test)
Fiscal.Year Fiscal.Quarter Seller Product.Revenue Product.Quantity Product.Family Sales.Level.1 Group Fiscal.Week
1 2015 2015Q3 ABCD1234 4000 4 Paper cup Americas Paper Division 32
2 2014 2014Q1 DDH1234 300 5 Paper tissue Asia Pacific Paper Division 33
3 2015 2015Q1 PNS1234 298 6 Spoons EMEA Cutlery 34
4 2016 2016Q4 CCC1234 289 7 Knives Africa Cutlery 33
现在,我的目标是一年总结的收入。
这里是dplyr代码中,我写道:
test %>%
group_by(Fiscal.Year) %>%
select(Seller,Product.Family,Fiscal.Year) %>%
summarise(Rev1 = sum(Product.Revenue)) %>%
arrange(Fiscal.Year)
这行不通。我得到的错误:
Error: object 'Product.Revenue' not found
然而,当我摆脱select语句,它的作品,但当时我没有能看到与卖家输出,和产品系列。
test %>%
group_by(Fiscal.Year) %>%
# select(Seller,Product.Family,Fiscal.Year) %>%
summarise(Rev1 = sum(Product.Revenue)) %>%
arrange(Fiscal.Year)
输出是:
# A tibble: 3 x 2
Fiscal.Year Rev1
<dbl> <dbl>
1 2014 300
2 2015 4298
3 2016 289
这种运作良好。
任何想法是怎么回事?自从我在R开始编程已经过了大约3周。所以,我会很感激你的想法。我遵循本指南:https://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html
而且,我看着如此相似的线程,但我相信他们关于因“+”号的问题:Error in dplyr group_by function, object not found
我要寻找以下的输出:
Fiscal.Year Rev1 Product Family Seller
<dbl> <dbl> ... ...
1 2014 ...
2 2015 ...
3 2016 ...
非常感谢
您明确忽略它在你的'select'电话。也许你应该使用'select(Seller,Product.Family,Fiscal.Year,Product.Revenue)'? – r2evans
发布上述查询后,我认为问题在于“select”中的列是分类的。所以,dplyr不知道如何总结它们。如果这是真的,我该如何显示这些列(即与项目对应的值)?有什么想法吗? – watchtower
'select'仅选择保留哪些列,所以在您当前调用select之后,数据只有三列(不是'Product.Revenue')。没什么奇特的,你的电话类似于'test [,c(“Seller”,“Product.Family”,“Fiscal.Year”)](尽管有分组)。 – r2evans