Peut-être une question stupide, je veux recoder plusieurs variables dans un fichier avec plusieurs conditions.Recoder plusieurs variables en utilisant tidyverse dans R
Exemple de données:
library(tidyverse)
s <- matrix(sample(1:15, 20, replace = TRUE), ncol = 4)
s <- as_tibble(s)
Ce qui donne quelque chose comme ceci:
# A tibble: 5 x 4
V1 V2 V3 V4
<int> <int> <int> <int>
1 11 2 5 14
2 5 4 15 5
3 13 15 2 5
4 7 13 15 11
5 11 5 12 3
Je veux recoder V1, V2, V3 avec ces conditions, et en laissant V4 égale: si la valeur est inférieur ou égal à 5 obtenir 1, si la valeur est supérieure à 5 mais inférieure ou égale à 10, obtenir 2 et enfin si la valeur est supérieure à 10, obtenir 3.
La sortie doit ok comme ceci:
# A tibble: 5 x 4
V1 V2 V3 V4
<int> <int> <int> <int>
1 3 1 1 14
2 1 1 3 5
3 3 3 1 5
4 2 3 3 11
5 3 1 3 3
Je sais appliquer au sujet, sapply, vapply, mais je voudrais recoder en utilisant les fonctions du package tidyverse et d'une manière élégante.
Merci d'avance!
Jetez un oeil à 'mutate_at' dans dplyr. Il est conçu pour appliquer la même fonction à plusieurs colonnes que vous pouvez choisir comme bon vous semble. – MrFlick