Nouvelle question du jour.
Autre problème récurrent pour moi sous R, à savoir essayer d'éviter l'utilisation des boucles et passer par l'une des fonctions apply.
Sauf que la gymnastique ne m'est tellement pas naturelle que je n'arrive pas à m'en sortir.
En l'occurrence, j'ai ce jeu de données ('quant.sm2'):
Code : Tout sélectionner
Espece Q25site Q75site Q25haquart Q75haquart Q98haquart Moysite
1 Barbar 3.0 11.5 2 12 69 7.869
2 Hypsav 7.5 27.0 2 11 96 18.434
3 Myosp 4.0 41.0 2 21 237 32.391
J'aimerais obtenir ça :
- Une nouvelle colonne nommée "Moy_site_haq" qui compare, pour chaque ligne, ma valeur de Moysite avec les 3 quantiles de haquart et renvoie une valeur discrète ("faible" si on est < à Q25haquart, "moyen" si on est entre Q25haquart et Q75haquart et "fort" si on est > à Q75haquart. Par exemple pour Hypsav on a 18.43, on est donc en "fort". Etc.
- Une autre colonne nommée "Q25_site_haq" qui fait la même chose mais avec Q25site (exemple pour Hypsav, on est à 7.5 et donc en "moyen")
- Une dernière colonne nommée "Q75_site_haq", pour Q75 site (toujours Hypsav, on est en "fort" avec 27)
Je peux le faire avec des if ou ifelse, mais ça ne semble pas propre.
Et je ne vois pas la logique des diverses fonctions apply pour cet exemple d'interrogation et de renvoi de valeurs discrètes.
Merci d'avance !