I have two data frames in R. data, a frame with monthly sales per department in a store, looks like this:
While averages, a frame with the average sales over all months per department, looks like this:
What I'd like to do is add a column to data containing the average sales (column 3 of averages) for each department. So whereas now I have an avg column with all zeroes, I'd like it to contain the overall average sales for whatever department is listed in that row. This is the code I have now:
for(j in 1:nrow(avgs)){
  for(i in 1:nrow(data)){
    if(identical(data[i,4], averages[j,1])){
      gd[i,10] <- avgs[j,3] } } }
After running the loop, the avg column in data is still all zeroes, which makes me think that if(identical(data[i,4], averages[j,1])) is always evaluating to FALSE... But why would this be? How can I troubleshoot this issue / is there a better way to do this?


 
     
    