Enlever des lignes d'un data frame

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Séverine Bayle
Messages : 31
Enregistré le : 02 Oct 2014, 16:15

Enlever des lignes d'un data frame

Messagepar Séverine Bayle » 14 Avr 2017, 15:35

Bonjour,

Comme l'indique le titre, je cherche à enlever (ou plutôt "soustraire") certaine lignes d'un data frame qui en contient environ 13 000.
Pour cela, je mets dans un data frame les lignes que je souhaite enlever selon la variable qui m'intéresse (des codes insee de communes), puis je tente de soustraire ce data frame à mon data frame qui contient les 13 000 lignes :

selec <- df_total[df_total$com==c('13003','13004','13006','13010','13011','13017','13018',
'13027','13034','13036','13038','13045','13052','13053',
'13057','13058','13061','13064','13065','13066','13067',
'13068','13076','13078','13083','13089','13096','13097',
'13100','13094','13105','13108','13115','13116','13035',
'13049'),]
df_final <- df_total[-selec,]

Quand je créé selec, R m'indique un warning, mais ça fonctionne :

Warning messages:
1: In is.na(e1) | is.na(e2) :
longer object length is not a multiple of shorter object length
2: In `==.default`(total13_bis$com, c("13003", "13004", "13006", "13010", :
longer object length is not a multiple of shorter object length

Par contre, le création du df_final ne se fait pas :

Error in `[.default`(xj, i) : invalid subscript type 'list'
In addition: There were 17 warnings (use warnings() to see them)



Quelqu'un pourrait-il m'indiquer ce qui ne va pas et comment faire?

Cordialement,

Séverine

François Bonnot
Messages : 537
Enregistré le : 10 Nov 2004, 15:19
Contact :

Re: Enlever des lignes d'un data frame

Messagepar François Bonnot » 15 Avr 2017, 14:04

Code : Tout sélectionner

selec <- df_total$com %in% c('13003','13004','13006','13010','13011','13017','13018',
'13027','13034','13036','13038','13045','13052','13053',
'13057','13058','13061','13064','13065','13066','13067',
'13068','13076','13078','13083','13089','13096','13097',
'13100','13094','13105','13108','13115','13116','13035',
'13049')
df_final <- df_total[!selec,]
François

Séverine Bayle
Messages : 31
Enregistré le : 02 Oct 2014, 16:15

Re: Enlever des lignes d'un data frame

Messagepar Séverine Bayle » 18 Avr 2017, 07:06

Bonjour,

Merci beaucoup François, c'est exactement ce que je voulais!

Bonne journée,


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité