У меня есть датафрейм ниже:
product<-c("ab","ab","ab","ac","ac","ac")
shop<-c("sad","sad","sad","sadas","fghj","xzzv")
category<-c("a","a","a","b","b","b")
tempr<-c(35,35,14,24,14,5)
value<-c(0,0,-6,8,4,0)
store<-data.frame(product,shop,category,tempr,value)
product shop category tempr value
1 ab sad a 35 0
2 ab sad a 35 0
3 ab sad a 14 -6
4 ac sadas b 24 8
5 ac fghj b 14 4
6 ac xzzv b 5 0
Я хочу преобразовать этот фрейм данных таким образом, чтобы я сохранял уникальные product
имена и превращал shop
имена из значений полей в имена столбцов.Я хочу заполнить этот фрейм данных комбинацией tempr
и ее относительной value
, но только для значения, которое не равно 0, иначе ячейки должны быть пустыми.Ячейки также должны быть пустыми в случае, если товара нет в магазине.Пример окончательной формы:
store2
product sad sadas fghj xzzv
1 ab 14(-6)
2 ac 24(8) 14(4)
Это может быть подход:
library(reshape2)
store2<-dcast(store, product ~ shop,value.var=value)