code: def factor(self, data: ['SASdata', str] = None,
                 by: str = None,
                 cls: [str, list] = None,
                 freq: str = None,
                 paired: str = None,
                 var: str = None,
                 weight: str = None,
                 procopts: str = None,
                 stmtpassthrough: str = None,
                 **kwargs: dict) -> 'SASresults':
          
docs: Python method to call the FACTOR procedure
  
          Documentation link:
          https://go.documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.4&docsetId=statug&docsetTarget=statug_factor_syntax.htm&locale=en
  
          :param data: SASdata object or string. This parameter is required.
          :parm by: The by variable can only be a string type.
          :parm cls: The cls variable can be a string or list type. It refers to the categorical, or nominal variables.
          :parm freq: The freq variable can only be a string type.
          :parm paired: The paired variable can only be a string type.
          :parm var: The var variable can only be a string type.
          :parm weight: The weight variable can only be a string type.
          :parm procopts: The procopts variable is a generic option available for advanced use. It can only be a string type.
          :parm stmtpassthrough: The stmtpassthrough variable is a generic option available for advanced use. It can only be a string type.
          :return: SAS Result Object