I have a dataframe like so:
item price source day
book 5 shop 2012-01-01
car 100 shop 2012-01-01
desk 10 shop 2012-01-01
book 4 internet 2012-01-01
car 99 internet 2012-01-01
desk 9 internet 2012-01-01
book 6 shop 2012-01-02
car 101 shop 2012-01-02
desk 11 shop 2012-01-02
book 4 internet 2012-01-02
car 100 internet 2012-01-02
desk 10 internet 2012-01-02
I would like, per day, each price per item, like:
item price.shop price.internet day
book 5 4 2012-01-01
car 100 99 2012-01-01
desk 10 9 2012-01-01
book 6 5 2012-01-02
car 101 100 2012-01-02
desk 11 10 2012-01-02
I have been trying my best with
melt‘ing and then
cast(df, item ~ source + variable)
But can’t get the desired result. I think the issue is becase i have in essence two “per thing” conditions (per day, per source) and so dont have the correct equation.
Thanks for any help
Not a plyr.reshape2 answer but using base:reshape():
I suppose one could also could have tried a
merge(subset_shop, subset_internet, 1:2, all=TRUE)strategy.