2010-04-14 5 views
1

J'utilise R. Je veux exécuter prcomp sur une matrice. Le code fonctionne bien avec une installation de R sur une machine Linux mais casse sur une autre installation identique (ou si je le pensais) de R sur une autre machine Linux. Les codes sonterreur prcomp dans R

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

Le msg d'erreur sur le mauvais exemple est

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

Les deux instances de R a R version 2.9.2 (2009-08-24) et, pour autant que je peux dire, sont configurés toutes les bibliothèques de R et les variables environnementales manières identiques aussi bien.

Alors, est-ce que quelqu'un a des suggestions sur ce qui pourrait être faux? Que signifie ce code d'erreur? (J'ai cherché sur internet et n'ai rien trouvé d'utile ...) Merci beaucoup d'avance!

Répondre

3

Votre deuxième case peut avoir une cassée l'installation Blas/Lapack. Malheureusement, nous ne pouvons pas dire que votre problème est non reproductible.

Voici un simple appel à Blas/Lapack - Est-ce pour vous?

R> crossprod(matrix(1:4, ncol=2)) 
    [,1] [,2] 
[1,] 5 11 
[2,] 11 25 
R> 
+0

Oui, cet exemple fonctionne. Et en fait, le code fonctionne pour certains jeux de données mais pas pour d'autres. Y a-t-il un moyen pour moi de partager un exemple de fichier 'testdata.txt'? – Zhang18

+0

Aussi, Dirk, y a-t-il un moyen pour moi de réinstaller le Blas/Lapack indépendamment de la réinstallation de R? THX. – Zhang18

+0

Salut Zhang, à propos de ta première question: Si le Crossprod fonctionne, peut-être que tes blas ne sont pas brisés. Dur à dire. Concernant votre deuxième question: Vous ne nous en avez pas beaucoup parlé, mais sur les systèmes que je connais (Debian, Ubuntu) les paquets blas et lapack sont indépendants de R et peuvent être réinstallés indépendamment. Peut-être pourriez-vous nous en dire plus sur votre système, les versions, ... –