【发布时间】:2019-05-13 10:06:06
【问题描述】:
我们有一个包含 150 个啤酒品牌的大型数据集,在 399 周期间在 85 家商店销售。 品牌仍然分为子品牌(例如:品牌=百威,但子品牌仍然存在:百威轻/百威普通等) 我们想要创建一个函数来创建一个新列,在以下情况下为我们提供每个品牌的平均价格: - 品牌相同, - 星期是一样的,并且 - 商店是一样的。
因此,我们的目标是获得一个列,显示每个品牌每周每家商店的 1 个平均价格(例如:百威啤酒在第 1 周的商店 1)。我们很难创建这个 if 语句/循环,因为我们是 R 的新手。
到目前为止,我们已经尝试通过了解它在没有循环的情况下如何工作来解决这一步。因此,我们选择了特定的商店、品牌和周,并创建了一个向量。像这样,我们可以创建向量 mean_price,它将所有子品牌每周每家商店的所有价格相加,然后将它们除以子品牌的数量(通过求和的向量计算得出)。
try1 <- subset(beer, select = c("brand","week","store","price_ounce","logprice_ounce", "sales_ounce","logsales_ounce"))
try1$vector <- c(1)
store5 <- subset(try1, store==5 & week==224 & brand=="ariel")
mean_price <- (sum(store5$logprice_ounce)/(sum(store5$vector)))
View(mean_price)
``
So far this leads to only one mean price, but we would like to have a column that displays 1 mean price per brand & store & week.
In the end, we need this to perform a regression to estimate price elasticities per store.
We are looking forward to any kind of help as we are completely lost.
Thank you in advance!
【问题讨论】:
标签: r loops if-statement