I have two lists:
list 1:
id   name  age
1    jake  21
2    ashly 19
45   lana  18
51   james 23
5675 eric  25
list 2 (tv watch):
id  hours 
1   1.1
1   3
1   2.5
45  5.6
45  3
51  2  
51  1
51  2
this is just an example, the real lists are very big :list 1 - 5000 id's, list 2/3/4 - has more then 1 million rows (not a unique id).
I need for every list 2 and up to calculate average/sum/count to every id and add the value to list 1. notice that I need the calculation saved in another list with different row numbers.
example:
list 1:
    id   name  age  tv_average
    1    jake  21   2.2
    2    ashly 19   n/a
    45   lana  18   4.3
    51   james 23   1.6667
    5675 eric  25   n/a
this are my tries:
for (i in 1:nrow(list2)) {
  p <- subset(list2,list2$id==i)
  list2$tv_average[i==list2$id] <- sum(p$hours)/(nrow(p))
}
error: out of 22999 rows it only work on 21713 rows.
 
    