import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
from plotnine import aes, geom_point, ggplot, labs, theme_bw
from plotnine.data import penguins as penguins_data
from statsmodels.miscmodels.ordinal_model import OrderedModel
# Palmer Penguins data
penguins = penguins_data.dropna().copy()
penguins["gentoo"] = np.where(
penguins["species"] == "Gentoo",
"Gentoo",
"Other",
)
penguins["gentoo_binary"] = (
penguins["species"] == "Gentoo"
).astype(int)
# World Values Survey data used for ordinal regression
wvs = sm.datasets.get_rdataset(
"WVS",
package="carData",
cache=True,
).data
wvs["poverty"] = pd.Categorical(
wvs["poverty"],
categories=["Too Little", "About Right", "Too Much"],
ordered=True,
)