J'ai à ma disposition un data.frame dont les noms de colonne sont susceptibles d'évoluer dans le temps.
J'aimerais interagir avec les colonnes de ce data.frame en fonction de leur nom, nom que je sélectionne en fonction de critère précis pour m'affranchir de leur possible modification.
La fonction grep est très utile mais je n'arrive pas à faire rentrer tous les critères que je désire dans la fonction.
Pour prendre un exemple simplifé, voici les noms de quelques colonnes :
Code : Tout sélectionner
Var <- c("Temperature (°C)_PFB","Temperature_Optode (°C)_PFB","Temperature_pH (°C)_PFB","PFB_SBE25Temp","Total Chl_A (µg/l)_PFB")
Il faut que j'interagisse uniquement avec les colonnes 1 et 4, j'ai trouvé une partie de la solution qui consiste à sélectionner les colonnes avec les termes "temp" et "PFB" :
Code : Tout sélectionner
Var[grep("(?=.*temp)(?=.*PFB)",Var,ignore.case=T, perl=T)]
[1] "Temperature (°C)_PFB" "Temperature_Optode (°C)_PFB" "Temperature_pH (°C)_PFB" "PFB_SBE25Temp"
mais je n'arrive pas à exclure les colonnes avec "Optode" et "pH"....
Quelqu'un aurait une solution pour inclure cette exclusion dans la même fonction ?
Merci beaucoup