Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据表rlang issue中的列总和_R_Dplyr_Data.table - Fatal编程技术网

数据表rlang issue中的列总和

数据表rlang issue中的列总和,r,dplyr,data.table,R,Dplyr,Data.table,我有以下数据表: 结构(列表日期=c(“2015-04-01”、“2015-04-01”、“2015-04-01”), “2015-04-01”、“2015-04-01”、“2015-04-01”),类别=结构(c(4L, 4L、4L、5L、5L、6L),标签=c(“面包房”、“品牌商品”、“早餐”, “罐装/包装”、“烹饪必需品”、“家用”、“无类别”, “个人护理”、“文具”、“车辆附件”),class=“factor”), 子类=c(“碳酸饮料”、“碳酸饮料”, “碳酸饮料”、“乳制品”、

我有以下数据表:

结构(列表日期=c(“2015-04-01”、“2015-04-01”、“2015-04-01”), “2015-04-01”、“2015-04-01”、“2015-04-01”),类别=结构(c(4L, 4L、4L、5L、5L、6L),标签=c(“面包房”、“品牌商品”、“早餐”, “罐装/包装”、“烹饪必需品”、“家用”、“无类别”, “个人护理”、“文具”、“车辆附件”),class=“factor”), 子类=c(“碳酸饮料”、“碳酸饮料”, “碳酸饮料”、“乳制品”、“乳制品”、“固定饮料”), 产品=c(“软饮料”、“软饮料”、“软饮料”、“黄油”, “黄油”,“A4纸”),品牌=c(“7向上”,“7向上”,“7向上”, “阿穆尔”、“阿穆尔”、“无品牌”),日=c(1L、1L、1L、1L、1L、, 1L),月=c(4L,4L,4L,4L,4L,4L),年=c(2015L,2015L, 2015L、2015L、2015L、2015L),MRP=c(“55”、“25”、“70”、“37”, “37”,“0.5”),数量=c(1,1,1,1,20),销售额=c(55, 25,70,37,37,10),Wday=c(“星期三”,“星期三”,“星期三”, “星期三”、“星期三”、“星期三”),周=c(13L,13L, 13L,13L,13L,13L),X=c(钠,钠,钠,钠,钠),X.=c(钠, NA,NA,NA,NA,NA)),.name=c(“日期”、“类别”、“子类别”, “产品”、“品牌”、“日”、“月”、“年”、“物料需求计划”、“数量”, “销售”、“Wday”、“Week”、“X”、“X.”,sorted=“Date”,class=c(“data.table”, “data.frame”),row.names=c(NA,-6L),.internal.selfref=)

我想在整个日期栏中显示每种类别每天的(数量)或(销售额)总和

我试过:

data2 <- data %>% group_by(data$Date) %>% summarise_each(funs(sum))
这会产生完全不同的输出/

有没有办法做到这一点

即使在卸载rlang、dplyr和ggplot2软件包之后,错误仍然存在。有办法解决这个问题吗

预期产出如下:


提前感谢

您可以使用上的摘要(仅适用于销售和数量)

#计算总销售额
图书馆(dplyr)
数据2%
分组依据(日期、类别)%>%
汇总在(VAR(销售额、数量)、总和、na.rm=真值)%>%
变更(总计=销售额*数量)
数据2
#>#A tible:10 x 5
#>#分组:日期[1]
#>日期类别销售数量合计
#>                                
#>1 2015-04-01“面包房”0
#>2 2015-04-01品牌商品0
#>3 2015-04-01“早餐”0
#>4 2015-04-01“罐装/包装”150 3 450
#>5 2015-04-01“烹饪要点”74 2 148
#>6 2015-04-01“住户”1020200
#>7 2015-04-01第0类
#>8 2015-04-01个人护理
#>9 2015-04-01“静止”0
#>10 2015-04-01车辆附件0不适用
然后使用
tidyr::spread

library(tidyr)
数据2_长%
选择(-Quantity,-Sales)%>%
价差(类别、总额)
数据2_long
#一个tibble:1 x 11
#分组:日期[1]
日期`面包店`品牌商品`早餐`罐装/包装`烹饪必需品`家用`无类别`
1 2015-04-01         0               0            0                450                   148          200             0
# ... 还有3个变量:`个人护理'、`固定装置'、`车辆附件'
使用的数据:


数据您只能在
销售
数量
中使用
汇总

#计算总销售额
图书馆(dplyr)
数据2%
分组依据(日期、类别)%>%
汇总在(VAR(销售额、数量)、总和、na.rm=真值)%>%
变更(总计=销售额*数量)
数据2
#>#A tible:10 x 5
#>#分组:日期[1]
#>日期类别销售数量合计
#>                                
#>1 2015-04-01“面包房”0
#>2 2015-04-01品牌商品0
#>3 2015-04-01“早餐”0
#>4 2015-04-01“罐装/包装”150 3 450
#>5 2015-04-01“烹饪要点”74 2 148
#>6 2015-04-01“住户”1020200
#>7 2015-04-01第0类
#>8 2015-04-01个人护理
#>9 2015-04-01“静止”0
#>10 2015-04-01车辆附件0不适用
然后使用
tidyr::spread

library(tidyr)
数据2_长%
选择(-Quantity,-Sales)%>%
价差(类别、总额)
数据2_long
#一个tibble:1 x 11
#分组:日期[1]
日期`面包店`品牌商品`早餐`罐装/包装`烹饪必需品`家用`无类别`
1 2015-04-01         0               0            0                450                   148          200             0
# ... 还有3个变量:`个人护理'、`固定装置'、`车辆附件'
使用的数据:


data这是对您提供的数据使用
data.table
restrape2
的一种更简单的方法

library(reshape2)
library(data.table)
setDT(data)
data2<-dcast(data[,.(Quantity=sum(Quantity),Sales=sum(Sales)),by=.(Category,Date)],Date~Category,value.var = c("Quantity","Sales"),fun.aggregate = sum)
library(重塑2)
库(数据表)
setDT(数据)

数据2这是一种更简单的方法,可以对您提供的数据使用
data.table
restrape2

library(reshape2)
library(data.table)
setDT(data)
data2<-dcast(data[,.(Quantity=sum(Quantity),Sales=sum(Sales)),by=.(Category,Date)],Date~Category,value.var = c("Quantity","Sales"),fun.aggregate = sum)
library(重塑2)
库(数据表)
setDT(数据)

数据2可能不是你的问题,但不要使用组中的$U。只是
group\u by(Date)
我们这里没有可复制的示例,但是如果您在dplyr中执行所有操作,为什么要使用data.table?或者,如果您有data.table,为什么要使用dplyr?无论哪种方式,请提供
dput(head(data))
@DavidArenburg请再次检查,因为我已经更新了