Bonjour,

La minuscule fonction suivante semble poser des problèmes :

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
}
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
 
> 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
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 =/

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 :-)