Even after reading the code, I'm still confused about how to run this program with multiple covariates.
design = patsy.dmatrix('~ RIN + Index', metadata_expanded, return_type='dataframe')
combat(study.expression.data, ['RIN', 'Index'], design, numerical_covariates=['RIN'])
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-96-49a3d6446dc7> in <module>()
----> 1 combat(study.expression.data, ['RIN'], design, numerical_covariates=['RIN'])
/home/obotvinnik/workspace-git/flotilla/flotilla/external/combat.py in combat(data, batch, model, numerical_covariates)
67
68 if model is not None and isinstance(model, pd.DataFrame):
---> 69 model["batch"] = list(batch)
70 else:
71 model = pd.DataFrame({'batch': batch})
/home/obotvinnik/anaconda/lib/python2.7/site-packages/pandas/core/frame.pyc in __setitem__(self, key, value)
2108 else:
2109 # set column
-> 2110 self._set_item(key, value)
2111
2112 def _setitem_slice(self, key, value):
/home/obotvinnik/anaconda/lib/python2.7/site-packages/pandas/core/frame.pyc in _set_item(self, key, value)
2185
2186 self._ensure_valid_index(value)
-> 2187 value = self._sanitize_column(key, value)
2188 NDFrame._set_item(self, key, value)
2189
/home/obotvinnik/anaconda/lib/python2.7/site-packages/pandas/core/frame.pyc in _sanitize_column(self, key, value)
2258 elif (isinstance(value, Index) or is_sequence(value)):
2259 from pandas.core.series import _sanitize_index
-> 2260 value = _sanitize_index(value, self.index, copy=False)
2261 if not isinstance(value, (np.ndarray, Index)):
2262 if isinstance(value, list) and len(value) > 0:
/home/obotvinnik/anaconda/lib/python2.7/site-packages/pandas/core/series.pyc in _sanitize_index(data, index, copy)
2543
2544 if len(data) != len(index):
-> 2545 raise ValueError('Length of values does not match length of '
2546 'index')
2547
ValueError: Length of values does not match length of index
Even after reading the code, I'm still confused about how to run this program with multiple covariates.
I thought I could do:
But I get this error (I copied the contents of
combat.pyto theflotillapackage)