def lm_fit(self, output_label, model_fun, x_column_or_label=None):
     if x_column_or_label is None:
         input_labels = [
             lbl for lbl in self.labels if not lbl == output_label
         ]
         f_values = [
             model_fun(*row) for row in self.select(input_labels).rows
         ]
         p = len(input_labels)
     else:
         f_values = model_fun(self._get_column(x_column_or_label))
         p = 1
     fit_tbl = Table(["Quantity", "Value"])
     return fit_tbl.with_rows([
         ("Residual standard error", self.RSE(output_label, f_values)),
         ("R^2", self.R2(output_label, f_values)),
         ("F-statistic", self.F_stat(output_label, f_values, p))
     ])
Example #2
0
 def with_rows(self, *args, **kwargs):
     return self._fix_(Table.with_rows(*args, **kwargs))