Bonjour,

j'ai un vecteur y de longueur 10, et je souhaite créer une fonction qui crée un vecteur de longueur 9 et qui contient les observations de y sauf la n-ième.

Par exemple, j'ai :

y=[1;4;6;3;5;9;0;8;5;3]

et je veux créer une fonction f avec un paramètre obs qui renverrai le vecteur y sans la obs-ième observation. Autrement dit f(3) devrait me renvoyer

[1;4;3;5;9;0;8;5;3] (j'ai juste enlevé la 3ème observation).

J'ai tenté ceci :
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
 
y=rnorm(10)
f=function(obs){
	ymi=c(1:(length(y)-1))
	j=1
	for(i in 1:length(y)){
		if (i!=obs){
			ymi[j]=y[j]
		}
		else{
			j=j-1
		}
		j=j+1
	}
	return(ymi)
}
sauf que ça ne marche pas comme je veux. Il me renvoie le vecteur y auquel il a enlevé la dernière observation. Est ce que quelqu'un pourrait me dire où se trouve le problème, voire m'indiquer si cela existe, une fonction R qui ferait exactement la même chose ?

Merci.