Skip to content

Commit 39113db

Browse files
authored
Merge pull request #20 from DoubleML/s-update-docs
Update page highlighting
2 parents 9fd6bcb + ffd55cc commit 39113db

19 files changed

+1225
-1607
lines changed

doc/_quarto-dev.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ metadata-files:
66
- _website.yml
77

88
website:
9+
site-url: https://docs.doubleml.org/doubleml-coverage/dev/
910
drafts:
1011
- index.qmd
1112
# IRM
@@ -14,6 +15,7 @@ website:
1415
- irm/irm_cate.qmd
1516
- irm/apo.qmd
1617
- irm/qte.qmd
18+
- irm/iivm.qmd
1719
# PLM
1820
- plm/plr.qmd
1921
- plm/plr_gate.qmd

doc/_website.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
website:
22
title: "DoubleML Coverage"
33
favicon: _static/favicon.ico
4+
site-url: https://docs.doubleml.org/doubleml-coverage/
45
search:
56
location: sidebar
67
sidebar:
@@ -17,6 +18,7 @@ website:
1718
- irm/irm_cate.qmd
1819
- irm/apo.qmd
1920
- irm/qte.qmd
21+
- irm/iivm.qmd
2022
- text: "PLM"
2123
menu:
2224
- plm/plr.qmd

doc/did/did_cs.qmd

Lines changed: 41 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -9,55 +9,17 @@ jupyter: python3
99
1010
import numpy as np
1111
import pandas as pd
12-
from itables import init_notebook_mode, show, options
12+
from itables import init_notebook_mode
13+
import os
14+
import sys
1315
14-
init_notebook_mode(all_interactive=True)
16+
doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
17+
if doc_dir not in sys.path:
18+
sys.path.append(doc_dir)
19+
20+
from utils.style_tables import generate_and_show_styled_table
1521
16-
def highlight_range(s, level=0.95, dist=0.05, props=''):
17-
color_grid = np.where((s >= level-dist) &
18-
(s <= level+dist), props, '')
19-
return color_grid
20-
21-
22-
def color_coverage(df, level):
23-
# color coverage column order is important
24-
styled_df = df.apply(
25-
highlight_range,
26-
level=level,
27-
dist=1.0,
28-
props='color:black;background-color:red',
29-
subset=["Coverage"])
30-
styled_df = styled_df.apply(
31-
highlight_range,
32-
level=level,
33-
dist=0.1,
34-
props='color:black;background-color:yellow',
35-
subset=["Coverage"])
36-
styled_df = styled_df.apply(
37-
highlight_range,
38-
level=level,
39-
dist=0.05,
40-
props='color:white;background-color:darkgreen',
41-
subset=["Coverage"])
42-
43-
# set all coverage values to bold
44-
styled_df = styled_df.set_properties(
45-
**{'font-weight': 'bold'},
46-
subset=["Coverage"])
47-
return styled_df
48-
49-
50-
def make_pretty(df, level, n_rep):
51-
styled_df = df.style.hide(axis="index")
52-
# Format only float columns
53-
float_cols = df.select_dtypes(include=['float']).columns
54-
styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
55-
56-
# color coverage column order is important
57-
styled_df = color_coverage(styled_df, level)
58-
caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
59-
60-
return show(styled_df, caption=caption, allow_html=True)
22+
init_notebook_mode(all_interactive=True)
6123
```
6224

6325
## ATTE Coverage
@@ -91,20 +53,27 @@ display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "
9153

9254
```{python}
9355
#| echo: false
94-
score = "observational"
95-
level = 0.95
9656
97-
df_ate_95 = df[(df['level'] == level) & (df["Score"] == score)][display_columns]
98-
make_pretty(df_ate_95, level, n_rep)
57+
generate_and_show_styled_table(
58+
main_df=df,
59+
filters={"level": 0.95, "Score": "observational"},
60+
display_cols=display_columns,
61+
n_rep=n_rep,
62+
level_col="level",
63+
coverage_highlight_cols=["Coverage"]
64+
)
9965
```
10066

10167
```{python}
10268
#| echo: false
103-
score = "observational"
104-
level = 0.9
105-
106-
df_ate_9 = df[(df['level'] == level) & (df["Score"] == score)][display_columns]
107-
make_pretty(df_ate_9, level, n_rep)
69+
generate_and_show_styled_table(
70+
main_df=df,
71+
filters={"level": 0.9, "Score": "observational"},
72+
display_cols=display_columns,
73+
n_rep=n_rep,
74+
level_col="level",
75+
coverage_highlight_cols=["Coverage"]
76+
)
10877
```
10978

11079
### Experimental Score
@@ -113,18 +82,24 @@ Remark that the only two valid DGPs are DGP $5$ and DGP $6$. All other DGPs are
11382

11483
```{python}
11584
#| echo: false
116-
score = "experimental"
117-
level = 0.95
118-
119-
df_ate_95 = df[(df['level'] == level) & (df["Score"] == score)][display_columns]
120-
make_pretty(df_ate_95, level, n_rep)
85+
generate_and_show_styled_table(
86+
main_df=df,
87+
filters={"level": 0.95, "Score": "experimental"},
88+
display_cols=display_columns,
89+
n_rep=n_rep,
90+
level_col="level",
91+
coverage_highlight_cols=["Coverage"]
92+
)
12193
```
12294

12395
```{python}
12496
#| echo: false
125-
score = "experimental"
126-
level = 0.9
127-
128-
df_ate_9 = df[(df['level'] == level) & (df["Score"] == score)][display_columns]
129-
make_pretty(df_ate_9, level, n_rep)
97+
generate_and_show_styled_table(
98+
main_df=df,
99+
filters={"level": 0.9, "Score": "experimental"},
100+
display_cols=display_columns,
101+
n_rep=n_rep,
102+
level_col="level",
103+
coverage_highlight_cols=["Coverage"]
104+
)
130105
```

0 commit comments

Comments
 (0)