将每个像元中的值除以R中的组平均值

时间:2019-01-16 18:03:01

标签: r charts dplyr

我正在尝试使用从原始图表得出的值来生成新列。我想先计算同一家酒店和同一日期的分组平均值,然后使用该分组平均值除以原始销售额。

这是我的代码:我试图使用group_by来计算组平均值,并总结嵌入dplyr包中,但是,它没有生成我的expected results

MainWindow w;
if(msgBoxModeSelection.clickedButton() == btnModeDebug) {
    w.show();
}

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

我们可以使用mutate代替摘要。按“ date1”,“ hotel”分组后,将“ sales”除以“ sales”的mean,以创建新列

library(tidyverse)
df %>% 
   group_by(date1, hotel) %>% 
   mutate(SalesDividedByMean = sales/mean(sales))

注意:当存在具有不同type的列时,cbind的结果将导致matrixmatrix只能具有一个类型。因此,character类向量可以将整个数据更改为character。用data.frame包装,将更改传播到factor(默认为stringsAsFactors = TRUE或`字符)

数据

df <- data.frame(hotel, date1, dba, sales)