| Total Complexity | 6 |
| Total Lines | 22 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | class Observation(object): |
||
| 51 | class SampleDistribution(object): |
||
| 52 | sample = None |
||
| 53 | group_id = None |
||
| 54 | |||
| 55 | def __init__(self, sample=None, group_id=None): |
||
| 56 | if group_id is not None: |
||
| 57 | self.group_id = group_id |
||
| 58 | if sample is not None: |
||
| 59 | self.sample = sample |
||
| 60 | self.mean = SampleDistribution.calculate_mean(sample, group_id) |
||
| 61 | |||
| 62 | @staticmethod |
||
| 63 | def calculate_mean(sample, group_id): |
||
| 64 | count = 0 |
||
| 65 | sum = 0 |
||
| 66 | for i in range(sample.size()): |
||
| 67 | observation = sample.get(i) |
||
| 68 | if observation.group_id != group_id: |
||
| 69 | continue |
||
| 70 | sum += observation.x |
||
| 71 | count += 1 |
||
| 72 | return sum / count |
||
| 73 |