92 votes

Fonction R Apply() sur des colonnes spécifiques du dataframe

Je veux utiliser la fonction apply sur un cadre de données, mais appliquer la fonction uniquement aux 5 dernières colonnes.

B<- by(wifi,(wifi$Room),FUN=function(y){apply(y, 2, A)})

Cela applique A à toutes les colonnes de y

B<- by(wifi,(wifi$Room),FUN=function(y){apply(y[4:9], 2, A)})

Cela applique A uniquement aux colonnes 4 à 9 de y, mais le rendement total de B supprime les 3 premières colonnes... Je les veux toujours, mais je ne veux pas que A leur soit appliqué.

wifi[,1:3]+B 

ne fait pas non plus ce que j'attendais/souhaitais.

-2voto

Mox Points 180

Je pense que ce que vous voulez est mapply. Vous pourriez appliquer la fonction à toutes les colonnes, puis supprimer celles que vous ne voulez pas. Cependant, si vous appliquez des fonctions différentes à des colonnes différentes, il semble probable que ce que vous voulez soit muter à partir du paquet dplyr.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X