Untitled
unknown
plain_text
a month ago
1.7 kB
1
Indexable
# Given data intervals = [(5.1, 10), (10.1, 15), (15.1, 20), (20.1, 25), (25.1, 30)] frequencies = [4, 7, 10, 9, 6] # Step 1: Calculate midpoints and total frequency midpoints = [(lower + upper) / 2 for lower, upper in intervals] total_frequency = sum(frequencies) # Calculate mean mean = sum(f * x for f, x in zip(frequencies, midpoints)) / total_frequency # Step 2: Mode calculation modal_class_index = frequencies.index(max(frequencies)) # Find modal class index modal_class = intervals[modal_class_index] fm = frequencies[modal_class_index] # Frequency of modal class f_prev = frequencies[modal_class_index - 1] if modal_class_index > 0 else 0 # Previous frequency f_next = frequencies[modal_class_index + 1] if modal_class_index < len(frequencies) - 1 else 0 # Next frequency h_mode = modal_class[1] - modal_class[0] # Class width L_mode = modal_class[0] # Lower boundary of modal class mode = L_mode + ((fm - f_prev) / ((fm - f_prev) + (fm - f_next))) * h_mode # Step 3: Median calculation N_half = total_frequency / 2 # Half of total frequency cumulative_frequencies = [sum(frequencies[:i+1]) for i in range(len(frequencies))] # Find the median class median_class_index = next(i for i, cf in enumerate(cumulative_frequencies) if cf >= N_half) median_class = intervals[median_class_index] f_median = frequencies[median_class_index] F_median = cumulative_frequencies[median_class_index - 1] if median_class_index > 0 else 0 h_median = median_class[1] - median_class[0] # Class width L_median = median_class[0] # Lower boundary of median class median = L_median + ((N_half - F_median) / f_median) * h_median mean, mode, median
Editor is loading...
Leave a Comment