Modérateur : Groupe des modérateurs
Code : Tout sélectionner
> mutate
Erreur : objet 'mutate' introuvable
> across
Erreur : objet 'across' introuvable
Code : Tout sélectionner
result <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
group_by(sexe) %>%
select(client, poids, starts_with("q")) %>%
nest() %>%
rowwise() %>%
transmute(
turf_results = list(bind_rows(
turf(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]],
.id = "turf_id"
))
) %>%
unnest(cols = "turf_results") %>%
ungroup() %>%
set_colnames(colnames(col)) %>%
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across((COMBINAISON_A), ~ c("1" = "2", "2" = "3")[.x])) %>%
select(-COMBO)
#across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])
Code : Tout sélectionner
Error in pop %>% mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, :
impossible de trouver la fonction "%>%"
Code : Tout sélectionner
pop <- data.frame(
client = 1:5,
tranche_age = c("35-54 ans", "18-34 ans", "55 ans et +", "18-34 ans", "-18 ans"),
sexe = c("Homme", "Femme", "Femme", "Homme", "Femme"),
nb_pers_foyers = c(4, 2, 5, 3, 1),
csp = c("Ouvrier", "Cadre", "Employé", "Ouvrier", "Retraité"),
q_1 = c("Oui", "Non", "Non", "Oui", "Non"),
q_2 = c("Non", "Oui", "Oui", "Oui", "Non"),
q_3 = c("Oui", "Oui", "Non", "Non", "Oui"),
q_4 = c("Non", "Oui", "Non", "Non", "Oui"),
q_5 = c("Oui", "Oui", "Oui", "Non", "Oui"),
poids = 1
)
col <- pop %>%
mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, RCHX = 1, FRQX = 1) %>%
select(MODALITE, COMBINAISON_A, COMBO, RCHX, FRQX, starts_with("q"))
result <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
group_by(sexe) %>%
select(client, poids, starts_with("q")) %>%
nest() %>%
rowwise() %>%
transmute(
turf_results = list(bind_rows(
turf(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]],
.id = "turf_id"
))
) %>%
unnest(cols = "turf_results") %>%
ungroup() %>%
set_colnames(colnames(col)) %>%
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across((COMBINAISON_A), ~ c("1" = "2", "2" = "3")[.x])) %>%
select(-COMBO)
#across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])
Code : Tout sélectionner
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])) %>%
Eric Wajnberg a écrit :Peut-être d'autres que moi connaissent ici la library en question et pourront vous aider.
Code : Tout sélectionner
pop <- data.frame(
client = 1:5,
tranche_age = c("35-54 ans", "18-34 ans", "55 ans et +", "18-34 ans", "-18 ans"),
sexe = c("Homme", "Femme", "Femme", "Homme", "Femme"),
nb_pers_foyers = c(4, 2, 5, 3, 1),
csp = c("Ouvrier", "Cadre", "Employé", "Ouvrier", "Retraité"),
q_1 = c("Oui", "Non", "Non", "Oui", "Non"),
q_2 = c("Non", "Oui", "Oui", "Oui", "Non"),
q_3 = c("Oui", "Oui", "Non", "Non", "Oui"),
q_4 = c("Non", "Oui", "Non", "Non", "Oui"),
q_5 = c("Oui", "Oui", "Oui", "Non", "Oui"),
poids = 1
)
col <- pop %>%
mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, RCHX = 1, FRQX = 1) %>%
select(MODALITE, COMBINAISON_A, COMBO, RCHX, FRQX, starts_with("q"))
esult_all <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
select(client, poids, starts_with("q")) %>%
transmute(
turf_results = list(bind_rows(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]]
)) %>%
set_colnames(colnames(col)) %>%
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])) %>%
select(-COMBO)
Code : Tout sélectionner
reprex::reprex({
pop <- data.frame(
client = 1:5,
tranche_age = c("35-54 ans", "18-34 ans", "55 ans et +", "18-34 ans", "-18 ans"),
sexe = c("Homme", "Femme", "Femme", "Homme", "Femme"),
nb_pers_foyers = c(4, 2, 5, 3, 1),
csp = c("Ouvrier", "Cadre", "Employé", "Ouvrier", "Retraité"),
q_1 = c("Oui", "Non", "Non", "Oui", "Non"),
q_2 = c("Non", "Oui", "Oui", "Oui", "Non"),
q_3 = c("Oui", "Oui", "Non", "Non", "Oui"),
q_4 = c("Non", "Oui", "Non", "Non", "Oui"),
q_5 = c("Oui", "Oui", "Oui", "Non", "Oui"),
poids = 1
)
col <- pop %>%
mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, RCHX = 1, FRQX = 1) %>%
select(MODALITE, COMBINAISON_A, COMBO, RCHX, FRQX, starts_with("q"))
result <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
group_by(sexe) %>%
select(client, poids, starts_with("q")) %>%
nest() %>%
rowwise() %>%
transmute(
turf_results = list(bind_rows(
turf(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]],
.id = "turf_id"
))
) %>%
unnest(cols = "turf_results") %>%
ungroup() %>%
set_colnames(colnames(col)) %>%
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across((COMBINAISON_A), ~ c("1" = "2", "2" = "3")[.x])) %>%
select(-COMBO)
#across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])
})
Code : Tout sélectionner
pop <- data.frame(
client = 1:5,
tranche_age = c("35-54 ans", "18-34 ans", "55 ans et +", "18-34 ans", "-18 ans"),
sexe = c("Homme", "Femme", "Femme", "Homme", "Femme"),
nb_pers_foyers = c(4, 2, 5, 3, 1),
csp = c("Ouvrier", "Cadre", "Employé", "Ouvrier", "Retraité"),
q_1 = c("Oui", "Non", "Non", "Oui", "Non"),
q_2 = c("Non", "Oui", "Oui", "Oui", "Non"),
q_3 = c("Oui", "Oui", "Non", "Non", "Oui"),
q_4 = c("Non", "Oui", "Non", "Non", "Oui"),
q_5 = c("Oui", "Oui", "Oui", "Non", "Oui"),
poids = 1
)
col <- pop %>%
mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, RCHX = 1, FRQX = 1) %>%
select(MODALITE, COMBINAISON_A, COMBO, RCHX, FRQX, starts_with("q"))
#> Error in pop %>% mutate(MODALITE = "MODALITE", COMBINAISON_A = 1, COMBO = 1, : could not find function "%>%"
result <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
group_by(sexe) %>%
select(client, poids, starts_with("q")) %>%
nest() %>%
rowwise() %>%
transmute(
turf_results = list(bind_rows(
turf(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]],
.id = "turf_id"
))
) %>%
unnest(cols = "turf_results") %>%
ungroup() %>%
set_colnames(colnames(col)) %>%
mutate(COMBINAISON = paste("Combinaison", COMBO, sep = " "), across((COMBINAISON_A), ~ c("1" = "2", "2" = "3")[.x])) %>%
select(-COMBO)
#> Error in pop %>% mutate(across(starts_with("q"), ~c(Oui = 1, Non = 0)[.x])) %>% : could not find function "%>%"
#across(starts_with("q"), ~ c("1" = "X", "0" = " ")[.x])
Code : Tout sélectionner
pop <- data.frame(
client = 1:5,
tranche_age = c("35-54 ans", "18-34 ans", "55 ans et +", "18-34 ans", "-18 ans"),
sexe = c("Homme", "Femme", "Femme", "Homme", "Femme"),
nb_pers_foyers = c(4, 2, 5, 3, 1),
csp = c("Ouvrier", "Cadre", "Employé", "Ouvrier", "Retraité"),
q_1 = c("Oui", "Non", "Non", "Oui", "Non"),
q_2 = c("Non", "Oui", "Oui", "Oui", "Non"),
q_3 = c("Oui", "Oui", "Non", "Non", "Oui"),
q_4 = c("Non", "Oui", "Non", "Non", "Oui"),
q_5 = c("Oui", "Oui", "Oui", "Non", "Oui"),
poids = 1
)
library("dplyr")
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library("tidyr")
library("turfR")
#> Warning: package 'turfR' was built under R version 4.1.1
res_by_sexe <- pop %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
group_by(MODALITE = sexe) %>%
select(client, poids, starts_with("q")) %>%
nest() %>%
rowwise() %>%
transmute(
turf_results = list(bind_rows(
turf(
data = data,
n = sum(grepl("^q", names(data))),
k = 2:3
)[["turf"]],
.id = "COMBINAISON_A"
))
) %>%
unnest(cols = "turf_results") %>%
ungroup() %>%
rename_all(function(x) ifelse(grepl("^[0-9]", x), sprintf("q_%s", x), toupper(x))) %>%
mutate(
COMBINAISON = paste("Combinaison", COMBO, sep = " "),
# COMBINAISON_A = c("1" = "2", "2" = "3")[as.character(COMBINAISON_A)], # Seems weird and likely to cause NAs
across(starts_with("q_"), ~ c("1" = "X", "0" = " ")[as.character(.x)])
) %>%
select(-COMBO)
#> Adding missing grouping variables: `MODALITE`
#> 2 of 5: 0.01400113 sec
#> 3 of 5: 0.007996798 sec
#> total time elapsed: 0.02398086 sec
#> 2 of 5: 0.008999109 sec
#> 3 of 5: 0.02200699 sec
#> total time elapsed: 0.03199005 sec
res_by_sexe
#> # A tibble: 40 x 10
#> MODALITE COMBINAISON_A RCHX FRQX q_1 q_2 q_3 q_4 q_5 COMBINAISON
#> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 Homme 1 1 1.5 "X" "X" " " " " " " Combinaison~
#> 2 Homme 1 1 1.5 "X" " " "X" " " " " Combinaison~
#> 3 Homme 1 1 1.5 "X" " " " " " " "X" Combinaison~
#> 4 Homme 1 1 1 "X" " " " " "X" " " Combinaison~
#> 5 Homme 1 1 1 " " "X" "X" " " " " Combinaison~
#> 6 Homme 1 1 1 " " "X" " " " " "X" Combinaison~
#> 7 Homme 1 0.5 1 " " " " "X" " " "X" Combinaison~
#> 8 Homme 1 0.5 0.5 " " "X" " " "X" " " Combinaison~
#> 9 Homme 1 0.5 0.5 " " " " "X" "X" " " Combinaison~
#> 10 Homme 1 0.5 0.5 " " " " " " "X" "X" Combinaison~
#> # ... with 30 more rows
res_homme <- filter(pop, sexe == "Homme") %>%
mutate(across(starts_with("q"), ~ c("Oui" = 1, "Non" = 0)[.x])) %>%
select(client, poids, starts_with("q")) %>%
transmute(
turf_results = list(bind_rows(
turf(
data = .,
n = sum(grepl("^q", names(.))),
k = 2:3
)[["turf"]],
.id = "turf_id"
))
) %>%
unnest(cols = "turf_results") %>%
rename_all(function(x) ifelse(grepl("^[0-9]", x), sprintf("q_%s", x), toupper(x))) %>%
mutate(
COMBINAISON = paste("Combinaison", COMBO, sep = " "),
# COMBINAISON_A = c("1" = "2", "2" = "3")[as.character(COMBINAISON_A)], # Seems weird and likely to cause NAs
across(starts_with("q_"), ~ c("1" = "X", "0" = " ")[as.character(.x)])
) %>%
select(-COMBO)
#> 2 of 5: 0.01299787 sec
#> 3 of 5: 0.0170002 sec
#> total time elapsed: 0.03200316 sec
res_homme
#> # A tibble: 40 x 9
#> TURF_ID RCHX FRQX q_1 q_2 q_3 q_4 q_5 COMBINAISON
#> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 1 1 1.5 "X" "X" " " " " " " Combinaison 1
#> 2 1 1 1.5 "X" " " "X" " " " " Combinaison 2
#> 3 1 1 1.5 "X" " " " " " " "X" Combinaison 4
#> 4 1 1 1 "X" " " " " "X" " " Combinaison 3
#> 5 1 1 1 " " "X" "X" " " " " Combinaison 5
#> 6 1 1 1 " " "X" " " " " "X" Combinaison 7
#> 7 1 0.5 1 " " " " "X" " " "X" Combinaison 9
#> 8 1 0.5 0.5 " " "X" " " "X" " " Combinaison 6
#> 9 1 0.5 0.5 " " " " "X" "X" " " Combinaison 8
#> 10 1 0.5 0.5 " " " " " " "X" "X" Combinaison 10
#> # ... with 30 more rows
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité