ошибка prcomp в R

Я использую R. Я хочу запустить prcomp на матрице. Код отлично работает с одной установкой R на компьютере с Linux, но ломается при другой идентичной (по крайней мере, так я думал) установке R на другом компьютере с Linux. Коды

dataf = read.table("~/data/testdata.txt")
pca = prcomp(dataf)

Сообщение об ошибке в плохом экземпляре

> dataf = read.table("~/data/testdata.txt")
> pca = prcomp(dataf)
Error in La.svd(x, nu, nv) :
  BLAS/LAPACK routine 'DGESDD' gave error code -12

Оба экземпляра R имеют R version 2.9.2 (2009-08-24), и, насколько я могу судить, все библиотеки R и переменные среды настроены одинаково.

Итак, у кого-нибудь есть предложения о том, что может быть не так? Что означает этот код ошибки? (Я искал в Интернете и не нашел ничего полезного...) Заранее большое спасибо!


person Zhang18    schedule 14.04.2010    source источник


Ответы (1)


У вашего второго бокса может быть сломана установка Blas/Lapack. К сожалению, мы не можем сказать, поскольку ваша проблема невоспроизводима.

Вот еще один простой вызов Бласа/Лапака — у вас это работает?

R> crossprod(matrix(1:4, ncol=2))
     [,1] [,2]
[1,]    5   11
[2,]   11   25
R> 
person Dirk Eddelbuettel    schedule 14.04.2010
comment
Да, этот пример работает. И на самом деле код работает для одних наборов данных, но не для других. Могу ли я поделиться образцом файла testdata.txt? - person Zhang18; 14.04.2010
comment
Кроме того, Дирк, есть ли способ переустановить Blas/Lapack независимо от переустановки R? Спасибо. - person Zhang18; 15.04.2010
comment
Привет, Чжан, по поводу вашего первого вопроса: если кросспрод работает, возможно, ваш blas не сломан. Трудно сказать. Что касается вашего второго вопроса: вы мало что нам рассказали, но в известных мне системах (Debian, Ubuntu) пакеты blas и lapack не зависят от R и могут быть переустановлены независимо. Может быть, вы могли бы рассказать нам больше о вашей системе, версиях, .... - person Dirk Eddelbuettel; 16.04.2010
comment
Мне удалось решить эту проблему, переустановив библиотеки BLAS/LAPACK. Спасибо. - person Zhang18; 20.04.2010