code: def _prepare(self, sup_rows, sup_cols):
      self.sup_rows = sup_rows
      self.sup_cols = sup_cols
  
      n_components = 5
  
      # Fit Prince
      self.dataset = prince.datasets.load_french_elections()
      active = self.dataset.copy()
      if sup_rows:
          active = active.drop("Île-de-France")
      if self.sup_cols:
          active = active.drop(columns=["Abstention", "Blank"])
      self.ca = prince.CA(n_components=n_components)
      self.ca.fit(active)
  
      # Fit FactoMineR
      R("library('FactoMineR')")
      with tempfile.NamedTemporaryFile() as fp:
          self.dataset.to_csv(fp)
          R(f"dataset <- read.csv('{fp.name}', row.names=1)")
  
      args = f"dataset, ncp={n_components}, graph=F"
      if self.sup_cols:
          if sup_rows:
              R(f"ca <- CA({args}, col.sup=c(13, 14), row.sup=c(18))")
          else:
              R(f"ca <- CA({args}, col.sup=c(13, 14))")
      else:
          if sup_rows:
              R(f"ca <- CA({args}, row.sup=c(18))")
          else:
              R(f"ca <- CA({args})")
  
imports: from __future__ import annotations
  import math
  import tempfile
  import numpy
  import pandas
  import pytest
  import rpy2.robjects
  import sklearn.utils.estimator_checks
  import sklearn.utils.validation
  from rpy2.robjects import r
  from scipy import sparse
  import prince
  from tests import load_df_from_R
label_desc: Use image node_id 1 for calling the TestCA obj's underlying member method code with example usage: obj._prepare(sup_rows, sup_cols) without return types