Arduino as Slave to Return Multiple Values

I’m trying to figure out how I can set up my arduino as an I2C slave device to send data back to the master (similar to this guide).

I’m trying to set up my Arduino master to send a byte to my slave address and based on the number the slave receives, return a certain value. For example, if I send the slave a 0, I would like the slave to return the analog value of A0. If I send the slave a 1, return analog value of A2, etc. My code so far looks like this:

Master Code:

#include <Wire.h>

void setup() 
{
  Wire.begin();
  Serial.begin(115200);
}


void loop() 
{
  Wire.beginTransmission(0x22); // Start communication with Arduino slave at address 0x22

  for(byte i=0;i<5;i++)
  {
    Wire.write(i);              // Request data from analog pin 'i'
    delay(5);                   // Give the slave a moment to sample ADC and respond
    while(Wire.available())
    {
      byte c = Wire.read();
      Serial.println(c);        // Print returned value to serial window
    }
  }

  Wire.endTransmission();       // End communication with Arduino slave
  delay(500); 
}

Slave Code

#include <Wire.h>

void setup() 
{
  Wire.begin(0x22);
}

void loop() 
{
  while(Wire.available())
  {
    byte c = Wire.read();
    for(byte i=0;i<5;i++)
    {
      if(c == i) Wire.write(analogRead(i)>>2);  //Return 8-bit ADC value
    }
  }
}

As you can tell, I’m not really sure what I’m doing with the slave side of things. Does anyone know how to accomplish this?