If I have a table like this:
user,v1,v2,v3 a,1,0,0 a,1,0,1 b,1,0,0 b,2,0,3 c,1,1,1
How to I turn it into this?
user,v1,v2,v3 a,2,0,1 b,3,0,3 c,1,1,1
In base R,
D <- matrix(c(1, 0, 0, 1, 0, 1, 1, 0, 0, 2, 0, 3, 1, 1, 1), ncol=3, byrow=TRUE, dimnames=list(1:5, c("v1", "v2", "v3"))) D <- data.frame(user=c("a", "a", "b", "b", "c"), D) aggregate(. ~ user, D, sum)
Returns
> aggregate(. ~ user, D, sum) user v1 v2 v3 1 a 2 0 1 2 b 3 0 3 3 c 1 1 1
2.1m questions
2.1m answers
60 comments
57.0k users