for a循环列

时间:2015-01-24 04:33:30

标签: r for-loop

我在数据框中有一个名为STOREIdentifier的列,其中包含9个商店的数据。我想用for循环计算这些商店销售的单位。基本上,我正在计算每家商店的市场份额。单位列包含已售出单位的数据。

for(i in unique(consumerData$STOREIdentifier)){
    salesPerStore[i] = aggregate(consumerData$units,by=list(consumerData$STOREIdentifier[i]),sum)
    salesPerStore
    totalSales = sum(consumerData$units)
    totalSales
    Print("Market share for store",i)
    marketshare[i] = salesPerStore[i]/totalSales
}

1 个答案:

答案 0 :(得分:-1)

 ag <- aggregate(consumerData$units,by=list(consumerData$STOREIdentifier),FUN=sum)
 ag / sum(consumerData$units)