bonjour à tous,
j'ai un dataframe de plus de 200 lignes et 32 colonnes, et je souhaite sélectionner un certains nombre de lignes et de colonnes afin de les utiliser pour des analyses statistiques, le dataframe se présente en partie comme ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
     mois station       lat      long      r    perim      cov             mass           B1
1     may  b          33°55'29" 01°13'11" 146    in        70.0000000   2135.996000   14.34502
2     may  b          33°55'32" 01°13'12" 147    in        63.4615385   1517.925768   14.14518
3     may  b          33°55'51" 01°13'06" 150    in        73.2057416   392.045260     14.00122
et le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
all<-subset(basedonnee, mois=="may" | mois=="march", select=c(2,17:32))
ce dernier marche très bien, mais là où ça se gatte c'est lorsque je rajoute un argument à ce code pour sélectionner certaines lignes en fonction de leurs index (la première colonne du dataframe), voici mes codes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
allstation_may<-subset(basedonnee, mois=="may" | mois=="march"|basedonnee[65:77] , select=(17:32))
Error in `[.data.frame`(basedonnee, 65:77) : colonnes non définies sélectionnées
j'ai alors tenté de sélectionner ces lignes en fonction de la colonne r qui indique le numéros des relevés, j'ai essayé pleins de codes qui donnent un résultats pour certains mais ce n'est pas celui que je cherche:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
allstation_may<-subset(basedonnee, mois=="may" | mois=="march"| r==c(186:198), select=(17:32))
Warning message:
In r == c(186:198) :
  longer object length is not a multiple of shorter object length
> allstation_may<-subset(basedonnee, mois=="may" | mois=="march"| r=="186:198", select=(17:32)) #celui-ci donne un résultat non souhaité
 
> allstation_may<-subset(basedonnee, mois=="may" | mois=="march"| r=="[186:198]", select=(17:32))#idem 
 
> allstation_may<-subset(basedonnee, mois=="may" | mois=="march"| r==c(186:198), select=(17:32))
Warning message:
In r == c(186:198) :
  longer object length is not a multiple of shorter object length
ce que je souhaite c'est de sélectionner tous les lignes du mois de may, du mois de march plus les ligne qui vont de 65:77 qui correspondent aux relevés qui vont de 186:198

inutile de vous dire que j'ai essayé pleins d'autres arguments qu'il est inutile de détailler ici mais là, je suis à court d'idée et je fait appel à vous pour m'aider.

merci.