I have a dataset as following
V1 <- c(5,5,5,45,45,77)
V2 <- c("low", "low", "medium", "low", "low", "high")
V3 <- c(10,3,6,10,3,1)
df <- cbind.data.frame(V1,V3,V2)
v1 v2 v3
5 10 low
5 3 low
5 6 medium
45 10 low
45 3 low
77 1 high
I want it to be
v1 low medium high
5 13 6 0
45 13 0 0
77 0 0 1
I have tried with cast/melt with little success.