我正在尝试使用从原始图表得出的值来生成新列。我想先计算同一家酒店和同一日期的分组平均值,然后使用该分组平均值除以原始销售额。
这是我的代码:我试图使用group_by来计算组平均值,并总结嵌入dplyr包中,但是,它没有生成我的expected results。
MainWindow w;
if(msgBoxModeSelection.clickedButton() == btnModeDebug) {
w.show();
}
任何建议将不胜感激!
答案 0 :(得分:1)
我们可以使用mutate
代替摘要。按“ date1”,“ hotel”分组后,将“ sales”除以“ sales”的mean
,以创建新列
library(tidyverse)
df %>%
group_by(date1, hotel) %>%
mutate(SalesDividedByMean = sales/mean(sales))
注意:当存在具有不同type
的列时,cbind
的结果将导致matrix
和matrix
只能具有一个类型。因此,character
类向量可以将整个数据更改为character
。用data.frame
包装,将更改传播到factor
(默认为stringsAsFactors = TRUE
或`字符)
df <- data.frame(hotel, date1, dba, sales)