def sliding_window_avg(data, window_size):
    """
    Computes the sliding window average of a given list of data.

    Args:
        data (list): A list of numeric values.
        window_size (int): The size of the sliding window.

    Returns:
        A list of the sliding window averages.
    """
    # Check if window size is valid
    if window_size < 1:
        raise ValueError("Window size must be greater than or equal to 1")

    # Initialize variables
    window_sum = sum(data[:window_size])
    window_avg = window_sum / window_size
    window_avgs = [window_avg]

    # Compute sliding window averages
    for i in range(window_size, len(data)):
        window_sum += data[i] - data[i-window_size]
        window_avg = window_sum / window_size
        window_avgs.append(window_avg)

    return window_avgs