конвертировать массив numpy в матрицу rpy2, Kmeans - PullRequest
2 голосов
/ 04 января 2011

У меня есть двумерный массив self.sub, и я хочу использовать его в rpy2 kmeans.k = robjects.r.kmeans (self.sub, 2,20) я всегда получаю следующую ошибку: valueError: в данный момент ничего нельзя сделать для типа!что я могу сделать?

1 Ответ

4 голосов
/ 06 апреля 2012

Из rpy2 документов , матрицы R - это просто векторы с установленным атрибутом dim.Таким образом, для двумерного массива numy x

import rpy2.robjects as robj

nr, nc = x.shape
xvec = robj.FloatVector(x.transpose().reshape((x.size))
xr = robj.r.matrix(xvec, nrow=nr, ncol=nc)

Вы должны транспонировать массив numey, потому что R заполняет матрицы столбцами.

Редактировать: На самом деле вы можете просто установить byrow = True вматрица R, и тогда вам не нужно будет транспонировать.

...