Bonjour,

Je dispose d'un jeu de données avec 140 colonnes de taille identique. Je souhaiterais calculer la différence entre chaque paire de colonnes possible.

Par exemple soit mon fichier :
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
a=read.table("donnees.txt")
a[,1] - a[,2]
puis a[,1] - a[,3]
.
.
.
enfin a[,1] - a[,140]
 
Puis a[,2] - a[,3]
a[,2] - a[,4]
.
.
.
a[,2] - a[,140]
 
Jusqu'à arriver à
a[,139] - a[,140]
Toutes les combinaisons doivent être considérées.

Je n'ai pas envie de me lancer dans une boucle qui va demander d'avantage d'effort à mon PC et je voudrais écrire ça sous forme de fonction. J'imagine que la fonction "sapply" doit convenir dans ce cas mais je ne sais pas bien par où commencer!

Je voudrais faire quelque chose de ce genre là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sapply(a[,1:140],function(x) a[,i]-a[,i+1])
Mais "a[,i]-a[,i+1]" pose problème... je vois bien que ce n'est pas ce qu'il faut renseigner.

Merci d'avance pour votre aide!