Thank you! This is exactly what I wanted. Could you please explain the logic behind your code? > x[,2][x[,1][x[,1] > 0]] <- table(x[,2])[as.character(x[,1][x[,1] > > 0])]