(n_group1=100,
n_group2=100,
n_rep=4,
group1_sd=2,
group2_sd=3,
unexplained_sd=4)
| 129 | |
| 130 | |
| 131 | def generate_crossed(n_group1=100, |
| 132 | n_group2=100, |
| 133 | n_rep=4, |
| 134 | group1_sd=2, |
| 135 | group2_sd=3, |
| 136 | unexplained_sd=4): |
| 137 | |
| 138 | # Group 1 indicators |
| 139 | group1 = np.kron(np.arange(n_group1, dtype=int), |
| 140 | np.ones(n_group2 * n_rep, dtype=int)) |
| 141 | group1 = group1[np.random.permutation(len(group1))] |
| 142 | |
| 143 | # Group 1 effects |
| 144 | u = group1_sd * np.random.normal(size=n_group1) |
| 145 | effects1 = u[group1] |
| 146 | |
| 147 | # Group 2 indicators |
| 148 | group2 = np.kron(np.arange(n_group2, dtype=int), |
| 149 | np.ones(n_group2 * n_rep, dtype=int)) |
| 150 | group2 = group2[np.random.permutation(len(group2))] |
| 151 | |
| 152 | # Group 2 effects |
| 153 | u = group2_sd * np.random.normal(size=n_group2) |
| 154 | effects2 = u[group2] |
| 155 | |
| 156 | e = unexplained_sd * np.random.normal(size=n_group1 * n_group2 * n_rep) |
| 157 | y = effects1 + effects2 + e |
| 158 | |
| 159 | df = pd.DataFrame({"y": y, "group1": group1, "group2": group2}) |
| 160 | |
| 161 | return df |
| 162 | |
| 163 | |
| 164 | # Generate a data set to analyze. |
no outgoing calls
no test coverage detected
searching dependent graphs…