automatic generation of all plots with all combinations
This commit is contained in:
50
README.md
50
README.md
@@ -94,7 +94,7 @@ combinations.append({
|
||||
})
|
||||
```
|
||||
|
||||
4. **Filter keys** must match CLI argument names:
|
||||
4. **Filter keys** must match CLI argument names (defined in `FILTER_CONFIG` in `03_quant_report.script.py`):
|
||||
- `age` — values from `survey.options_age`
|
||||
- `gender` — values from `survey.options_gender`
|
||||
- `ethnicity` — values from `survey.options_ethnicity`
|
||||
@@ -144,4 +144,50 @@ combinations.append({
|
||||
|
||||
- **Empty filters dict** = all respondents (no filtering)
|
||||
- **Omitted filter keys** = all options for that dimension selected
|
||||
- **Output folder names** are auto-generated from active filters by `QualtricsSurvey.filter_data()`
|
||||
- **Output folder names** are auto-generated from active filters by `QualtricsSurvey.filter_data()`
|
||||
|
||||
---
|
||||
|
||||
## Adding a New Filter Dimension
|
||||
|
||||
To add an entirely new filter dimension (e.g., a new demographic question), edit **only** `FILTER_CONFIG` in `03_quant_report.script.py`:
|
||||
|
||||
### Checklist
|
||||
|
||||
1. **Ensure `QualtricsSurvey`** has the corresponding `options_*` attribute and `filter_data()` accepts the parameter
|
||||
|
||||
2. **Open** `03_quant_report.script.py`
|
||||
|
||||
3. **Find** `FILTER_CONFIG` near the top of the file:
|
||||
|
||||
```python
|
||||
FILTER_CONFIG = {
|
||||
'age': 'options_age',
|
||||
'gender': 'options_gender',
|
||||
'ethnicity': 'options_ethnicity',
|
||||
'income': 'options_income',
|
||||
'consumer': 'options_consumer',
|
||||
# Add new filters here: 'newfilter': 'options_newfilter',
|
||||
}
|
||||
```
|
||||
|
||||
4. **Add** your new filter:
|
||||
|
||||
```python
|
||||
FILTER_CONFIG = {
|
||||
'age': 'options_age',
|
||||
'gender': 'options_gender',
|
||||
'ethnicity': 'options_ethnicity',
|
||||
'income': 'options_income',
|
||||
'consumer': 'options_consumer',
|
||||
'region': 'options_region', # ← New filter
|
||||
}
|
||||
```
|
||||
|
||||
This **automatically**:
|
||||
- Adds `--region` CLI argument
|
||||
- Includes it in Jupyter mode (defaults to all options)
|
||||
- Passes it to `S.filter_data()`
|
||||
- Writes it to the `.txt` filter description file
|
||||
|
||||
5. **Update** `run_filter_combinations.py` to generate combinations for the new filter (optional)
|
||||
Reference in New Issue
Block a user