Salut
quand t'a fais str(data1), R te dit que ton objet data1 est de type data.frame ce qui est normal quand tu utilise read.table, or un data.frame qui est une liste assez spéciales (vecteur de même longueur) que utilisera très souvent dans R.
La fonction ks.test veux des vecteurs en entré, c'est parfait parceque dans un data.frame une colonne ou variable est un vecteur.
Si on reprends l'exemple avec data1, t'a une colonne V1 et disons que pour data2 la colonne d'intêret s'appelle V2 (fais un str(data2) pour savoir).
Donc si tu veux l'utiliser pour ton test tu peux faire directement :
ks.test(data1$V1, data2$V2)
le signe $ c'est pour choisir les colonnes V1, t'aurais pu aussi faire comme petromyzon l'a dit, si tes deux éléments sont en première colonne chacune (sinon tu met les numeros correspondant à la place des "1" dans le code) :
ks.test(data1[, 1], data2[, 1]
et tu peux même faire :
ks.test(data1[, "V1"], data2[, "V2"])
ou encore
1 2 3 4 5
| attach(data1)
attach(data2)
ks.test(V1, V2)
detach(data1)
detach(data2) |
Mais cette derniere n'est pas trop recommandé en général...on lui prefere l'utilisation de with
Donc n'essai pas de convertir directement ton data.frame de cette facon parceque au pire tu l'a transforme, en liste.
D'un autre coté si utilisait scan pour rentrer tes données t'aurais des matrices plutot que des data.frames ce qui changerait la donne, même si pour faire des statistiques les data.frames sont très pratique.
FInalement comme tu le remarque y'a mille facon de choisir des vecteurs dans un data.frame, je te conseille de lire R pour les débutants de Paradis, ou celui de Julien Barnier, R pour les sociologues, ils sont pas mal pour commencer
Partager