Bonjour,
La minuscule fonction suivante semble poser des problèmes :
Résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 truc = function(b) { inData = as.matrix(read.table("inputs.txt")) outData = as.matrix(read.table("outputs.txt")) if (b) { s = svd(outData) ; basis = s$v[,1:3] embedding = outData %*% basis #write(t(embedding),"embedding.txt",ncolumns=3) } else embedding = as.matrix(read.table("embedding.txt")) testInds = c(5,2,16) trainInds = c(8, 4, 22, 3, 21, 11, 12, 23, 26, 27, 20, 17, 15, 24, 19, 29, 33, 18, 25, 30, 14, 9, 6, 32, 28, 10, 31, 7, 13, 1) p = ppr( inData[trainInds,],embedding[trainInds,1],nterms=6 ) ; p }
Après plusieurs heures de débuggage en obtenant ces résultats, je me dis "comment une SVD peut "perturber" la fonction ppr ?!". ça semble ridicule =/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 > truc(F) Call: ppr(x = inData[trainInds, ], y = embedding[trainInds, 1], nterms = 6) Goodness of fit: 6 terms 0.1178330 > truc(T) *** caught segfault *** address 0x41ab000, cause 'memory not mapped' Erreur de segmentation
Note 1 : inputs.txt, outputs.txt et embedding.txt sont des matrices à 33 rangées, et respectivement 3, 200 et 3 colonnes.
Note 2 : il y a un paquet de trucs sans intérêt dans mon .RData, dont peut-être des choses conflictuelles.. j'essaye en effaçant tout ça pour voir.
[EDIT : c'est exactement le même bug avec .RData et .Rhistory vides ! J'y comprends rien]
Et c'est pas fini : le bug semble dépendant de la machine ; au bureau j'obtiens le même plantage, mais pour un jeu de données légèrement différent. Youpi..
Si vous avez une idée, merci d'avance :-)
Partager