Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
如何将此sql转换为dplyr_R_Dplyr - Fatal编程技术网

如何将此sql转换为dplyr

如何将此sql转换为dplyr,r,dplyr,R,Dplyr,我要执行与此SQL代码等效的操作: SELECT Cat_1, Cat_2, Cat_3, Sum(cost), Sum(quantity) FROM tbl_of_data GROUP BY Cat_1, Cat_2, Cat_3; 如何使用R中的dplyr包实现这一点 我试过: library(dplyr) tbl_of_data %>% group_by(Cat_1, Cat_2, Cat_3) %>% mutate(cost, quantity) 但是我得到的行数

我要执行与此SQL代码等效的操作:

SELECT Cat_1, Cat_2, Cat_3, Sum(cost), Sum(quantity) FROM tbl_of_data
GROUP BY Cat_1, Cat_2, Cat_3;
如何使用R中的dplyr包实现这一点

我试过:

library(dplyr)
tbl_of_data %>%
  group_by(Cat_1, Cat_2, Cat_3) %>%
  mutate(cost, quantity)

但是我得到的行数是相同的。

我们需要
summary
summary\u each
为每个组组合获得一行
sum
,这相当于
sql
输出

tbl_of_data %>%
       group_by(Cat_1, Cat_2, Cat_3) %>% 
       summarise_each(funs(sum), cost, quantity)


mutate
创建一个新列。此外,在OP的
mutate
code中,它没有使用
sum
进行包装。如果打算创建新的
sum
列,则可以使用
mutate
mutate\u each
,即
..%>%mutate(SumCost=sum(cost),SumQuantity=sum(quantity))
..%>%mutate\u each(funs(sum),cost,quantity)

我们需要
summary
summary\u each
为每个组组合获得一行
sum
,这相当于
sql
输出

tbl_of_data %>%
       group_by(Cat_1, Cat_2, Cat_3) %>% 
       summarise_each(funs(sum), cost, quantity)


mutate
创建一个新列。此外,在OP的
mutate
code中,它没有使用
sum
进行包装。如果打算创建新的
sum
列,则可以使用
mutate
mutate\u每个
,即
…%>%mutate(SumCost=sum(cost),SumQuantity=sum(quantity))
…%>%mutate\u每个(funs(sum),cost,quantity)
。我只是看到其他地方使用了mutate,并尝试进行反向工程。谢谢:D@KillerSnail没问题。很高兴帮助你。我只是看到其他地方使用了mutate,并尝试进行反向工程。谢谢:D@KillerSnail没问题。很高兴帮助你。