Je suis récemment passé de la manipulation de données courantes dans R à la tidyverse. Mais j'ai eu un problème concernant la mise à l'échelle des colonnes avec la fonction scale()
. Mes données sont constituées de colonnes dont certaines sont numériques et d'autres catégorielles. La dernière colonne est également la valeur y des données. Je veux donc mettre à l'échelle toutes les colonnes numériques, mais pas la dernière colonne. Avec la fonction select()
, je peux écrire une très courte ligne de code et sélectionner toutes mes colonnes numériques qui doivent être mises à l'échelle si j'ajoute l'argument ends_with("...")
. Mais je ne peux pas vraiment faire usage de cela avec la mise à l'échelle. Là, je dois utiliser transmute(feature1=scale(feature1),feature2=scale(feature2)...)
et nommer chaque fonctionnalité individuellement. Cela fonctionne bien, mais gonfle le code. Donc, ma question est la suivante:R: Mettre à l'échelle un sous-ensemble de plusieurs colonnes (avec des noms similaires) avec dplyr
Y at-il une solution intelligente pour manipuler la colonne par colonne sans la nécessité de traiter chaque nom de colonne avec transmuter?
J'imagine quelque chose comme:
transmute(ends_with("...")=scale(ends_with("..."),featureX,featureZ)
(bien que cela ne fonctionne pas)
Un grand merci à l'avance