1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
library(splitstackshape)
#Génération du dataframe, semblable à celui sur lequel je travaille
data1 <- data.frame(categorie_metier = sample(c("agriculteur", "artisan", "autre", "cadres", "employes", "ouvriers", "prof_int"), 429, replace = TRUE, prob = c(0.01, 0.05, 0.14, 0.41, 0.25, 0.04, 0.10)), en_teletravail = sample(c("0", "1"), 429, replace = TRUE, prob = c(0.59, 0.41)), stringsAsFactors = TRUE)
#Dans le data1, je crée une colonne qui colle les paramètres
data1$groupe = paste(data1$categorie_metier, data1$en_teletravail, sep = "")
#Génération du dataframe avec les probabilités souhaitées
data2 <- data.frame(categorie_metier = sample(c("agriculteur", "artisan", "autre", "cadres", "employes", "ouvriers", "prof_int"), 1000000, replace = TRUE, prob = c(0.01, 0.03, 0.27, 0.21, 0.13, 0.10, 0.25)), en_teletravail = sample(c("0", "1"), 1000000, replace = TRUE, prob = c(0.991, 0.009)), stringsAsFactors = TRUE)
data2$groupe <- paste(data2$categorie_metier, data2$en_teletravail, sep = "")
#On souhaite obtenir un dataframe avec 50 entrées
gsize <- 50 * round(prop.table(table(data2$groupe)), 1)
gsize = gsize[gsize != 0]
gsize = as.list(gsize)
#Génération du dataframe en sortie
data3 <- splitstackshape::stratified(data1, c("categorie_metier", "en_teletravail"), gsize, select = list(groupe = names(gsize)))
Error in sample.int(length(x), size, replace, prob) :
premier argument incorrect |
Partager