Bonjour,


Mon problème concerne l'utilisation de la fonction Mort2Dsmooth,
cette fonction du package : MortalitySmooth, permet d'effectuer un lissage matriciel par B spline.


voici la fonction telle que décrite dans le package :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Mort2Dsmooth(x, y, Z, offset, W, overdispersion=FALSE,
ndx = c(floor(length(x)/5), floor(length(y)/5)),
deg = c(3, 3), pord = c(2, 2),
lambdas = NULL, df = NULL, method = 1,
coefstart = NULL,
control = list())
avec x, ici mon vecteur d'âge
y mon vecteur d'années
et Z mon nombre de décès (matrice de mes nombres de décès par âge et par année, source : Human Mortality Databse, France.)

voici mon code :

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
17
18
19
20
DATAdeath=read.table(file.choose(""),header=FALSE,sep="",dec=",",quote="")
DATAexpo=read.table(file.choose(""),header=FALSE,sep="",dec=",",quote="")
années=1816:2012
ages=18:100
 
#j'ai bien vérifié la dimension de DATAdeath, DATAexpo, ligne et colonne.
 
colnames(DATAdeath) <- ages
rownames(DATAdeath) <- années
DATAdeath
 
colnames(DATAexpo) <- ages
rownames(DATAexpo) <- années
DATAexpo
 
 
Mort2Dsmooth(années,ages,as.matrix(DATAdeath),as.matrix(DATAexpo), W <- matrix(1,length(années), length(ages)), overdispersion=FALSE,
ndx = c(floor(length(x)/5), floor(length(y)/5)),
deg = c(3, 3), pord = c(2, 2), df = NULL, method = 1,
coefstart = NULL,control=list())
message d'erreur :
Erreur dans Mort2Dsmooth_checker(x = x, y = y, Z = Z, offset = offset, W = W,  : 
  objet 'x' introuvable
Je ne vois pourquoi mon vecteur x, ici années, n'est pas détecté.

Merci !