Я новичок в программировании и буду признателен за любую помощь в этом. У меня есть кадр данных, который содержит названия продуктов и день их продажи. Для каждого продукта, я должен был бы увидеть фракцию, которые продаются в понедельник, вторник, среду и т.д.R: изменение формы данных и создание пропорций
Пожалуйста, следить за этим, чтобы повторить мой dataframe:
Product=c("A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","C")
Day=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Monday","Tuesday","Wednesday","Saturday","Sunday" ,"Monday")
df=data.frame(cbind(Product,Day))
Я попытался следующие:
data.frame(prop.table(with(df,table(Product,Day))))
df.wide=reshape(data.frame(prop.table(with(df,table(Product,Day)))),
timevar="Day",
idvar="Product",
direction="wide")
, который дает мне
Product Freq.Friday Freq.Monday Freq.Saturday Freq.Sunday Freq.Thursday Freq.Tuesday Freq.Wednesday
A 0.1111111 0.11111111 0.11111111 0.00000000 0.1111111 0.11111111 0.11111111
B 0.0000000 0.05555556 0.00000000 0.00000000 0.0000000 0.05555556 0.05555556
C 0.0000000 0.05555556 0.05555556 0.05555556 0.0000000 0.00000000 0.00000000
Я могу суммировать столбцы 2-8 и получить общую часть а, в , C продается, но как я могу получить долю A, B, C, проданную в День недели?
Спасибо!
Благодарим за решение. Я действительно хочу получить долю, продаваемую в каждый день за продукт. Например, если A учитывает 0,25 продаж, мне также нужно, какая доля A продается в каждый день, делая сумму A = 1. Например, если 0,2 А были проданы в понедельник, вторник, среду, четверг и пятницу и 0 в субботу и воскресенье, моя общая сумма для А будет 1. Я сожалею, если это было не очень ясно выше –
@RUser - оба % внутри продукта и% в течение дня уже выше! – thelatemail
спасибо, факторизованные дни, чтобы заказать его правильно! –