pb avec max() & min()

Questions sur les objets de R et la manipulation des données

Modérateur : Groupe des modérateurs

Sébastien Hamel
Messages : 71
Enregistré le : 11 Mai 2006, 08:00

pb avec max() & min()

Messagepar Sébastien Hamel » 09 Juin 2006, 11:26

j'ai a ma disposition une liste dans lequel j'ai 4 vecteur par exemple

ma liste= temp

je souhaiterais obtenir le maximum et le minimum parmi les 4 vecteurs sachant que ces vecteurs ne possedent pas de noms donc
temp[[1]] = vecteur 1
temp[[2]] = vecteur 2
& ainsi de suite

ainsi j'ai tapé:

MAXI <- max(temp)
MINI <- min(temp)

mais il semblerait que l'argument considéré doit être de mode numeric or ici ce né pa le cas!!

QQ'un oré-t-il une idée pour résoudre ce petit problème

Merci

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 09 Juin 2006, 12:48

bonjour,


voici une proposition :

Code : Tout sélectionner

# création de ma liste de vecteur
> ted <- list(rnorm(4),rnorm(5),rnorm(6))
> ted
[[1]]
[1]  0.2631756 -0.9858267 -2.8889207 -0.6404817

[[2]]
[1]  0.57050764 -0.05972328 -0.09817874  0.56082073 -1.18645864

[[3]]
[1]  1.096777044 -0.005344028  0.707310667  1.034107735  0.223480415
[6] -0.878707613

>
# max  pour chaque vecteur
> lapply(ted,max)
[[1]]
[1] 0.2631756

[[2]]
[1] 0.5705076

[[3]]
[1] 1.096777
# si il y a des données manquante on peut utiliser
> lapply(ted,function(x)max(x,na.rm=T))
[[1]]
[1] 0.2631756

[[2]]
[1] 0.5705076

[[3]]
[1] 1.096777

>

# ensuite max pour l'ensemble des vecteurs
# on utilise la fonction "unlist" pour transformer la liste des vecteurs
# en 1 seul gros vecteur
> max(unlist(ted))
[1] 1.096777
# si il ya des données manquantes
> max(unlist(ted),na.rm=T)
[1] 1.096777


pour le min, c'est comme pour le max :)

@+

Pierre


Retourner vers « Archives : Manipulation de données avec R »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité