My question is an extension of this one : Create a column with a count of occurrences in R
Given their example, I would like to see a count of how many of each products each person has.
I have a very large dataset which has this structure:
df <- c(Contact.ID, Date.Time, Week, Attendance, WeeklyAT)
Contact.ID Date Time Week Attendance *WeeklyAT
1 A 2012-10-06 18:54:48 44 30 *2
2 A 2012-10-08 20:50:18 44 30 *2
3 A 2013-05-24 20:18:44 21 30 *1
4 B 2012-11-15 16:58:15 46 40 *1
5 B 2013-01-09 10:57:02 2 40 *3
6 B 2013-01-11 17:31:22 2 40 *3
7 B 2013-01-14 18:37:00 2 40 *3
8 C 2013-02-22 17:46:07 8 5 *1
9 C 2013-02-27 11:21:00 9 5 *1
10 D 2012-10-28 14:48:33 43 12 *1
I am trying to find the WeeklyAT
column, counting how often a week number occurs PER ID (which is the difference to the other question as I am not looking at general occurrence or count of weeks per ID)
I have tried these two approaches and mixtures of them but can't seem to find the right one:
df <- transform(df, WeeklyAT = ave(seq(nrow(df)), Gym$Week, FUN=length))
df <- within(df, {
WeeklyAT = ave(df$Week, df$Contact.ID, FUN = function(x) length(unique(x)))
})
I greatly appreciate any help or tip :) Many Thanks.