Я новичок в R и не могу найти решение своей проблемы. Я думаю, что проблема довольно проста. У меня есть df с 4 переменными: дата, SKU_code, SKU_category и sales_amount. Я хочу создать для l oop для построения n цифр, где n равно количеству SKU_category. Другими словами, это код, который я хочу преобразовать в a для l oop. Это работает, но у меня есть более 50 категорий, поэтому это не эффективно:
dfsales_red_cat <- dfsales %>% group_by(date, SKU_code, SKU_category) %>% summarize(y=sum(sales_amount))
dfsales_red_C01 <- dfsales_red_cat %>% filter(SKU_category =="C01")
dfsales_red_C01 <- dfsales_red_C01[,c(1,2,4)]
ggplot(dfsales_red_C01,aes(x=date,y=y,colour=SKU_code,group=SKU_code)) + theme(legend.position="none") + geom_line()+labs(title="C01", y='Sales',x='Year')
dfsales_red_C02 <- dfsales_red_cat %>% filter(SKU_category =="C02")
dfsales_red_C02 <- dfsales_red_C02[,c(1,2,4)]
ggplot(dfsales_red_C02,aes(x=date,y=y,colour=SKU_code,group=SKU_code)) + theme(legend.position="none") + geom_line()+labs(title="C02", y='Sales',x='Year')
...and so on...
Я пытался с этим, но это не сработало
dfsales_red_cat <- dfsales %>% group_by(date, SKU_code, SKU_category) %>% summarize(y=sum(sales_amount))
cat <- unique(dfsales_red_cat$SKU_category)
for (i in cat) {
dfsales_red_i <- dfsales_red_cat %>% filter(SKU_category==i)
dfsales_red_i <- dfsales_red_i[,c(1,2,4)]
ggplot(dfsales_red_i,aes(x=date,y=y,colour=SKU_code,group=SKU_code)) + theme(legend.position="none") + geom_line()+
labs(title=i, y='Sales',x='Year')
}
Спасибо за вашу помощь .
Это часть исходной таблицы dfsales_red_cat (> 10000 строк) и форматами даты, char, char, number:
DATE SKU_code SKU_category sales_amount
1 2016-01-03 Z0003 C13 298380.0
2 2016-01-03 Z0005 C10 225433.6
3 2016-01-03 Z0006 C10 2246883.8
4 2016-01-03 Z0007 C10 653144.4
5 2016-01-03 Z0009 C15 170233.4