Je suppose que vous utilisez stratified
de mon paquet "splitstackshape".
L'erreur explique ce qui est requis: un vecteur nommé (quelque chose comme c(a = 5, b = 10)
, par exemple). Cependant, cette caractéristique de la fonction suppose qu'une seule variable est utilisée pour la stratification. Pour résoudre ce problème, vous pouvez simplement créer une nouvelle variable de regroupement en collant vos colonnes "Loc" et "Format".
Voici un exemple simple ....
Commencez avec quelques exemples de données de votre ensemble de données d'origine et un ensemble de données qui indique la taille des échantillons que vous voulez.
library(splitstackshape)
set.seed(1)
mydf <- data.table(strata1 = sample(letters[1:2], 25, TRUE),
strata2 = sample(c("A", "B"), 25, TRUE),
values = sample(25, replace = TRUE))
head(mydf)
# strata1 strata2 values
# 1: a A 12
# 2: a A 22
# 3: b A 11
# 4: b B 7
# 5: a A 2
# 6: b A 3
wanted <- data.table(strata1 = c("a", "a", "b", "b"),
strata2 = c("A", "B", "A", "B"),
count = c(2, 3, 5, 2))
wanted
# strata1 strata2 count
# 1: a A 2
# 2: a B 3
# 3: b A 5
# 4: b B 2
Pour obtenir la sortie, nous allons ajouter une colonne appelée "KEY" combinant les deux colonnes de stratification. Vous pouvez le faire pour les deux ensembles de données, mais je l'ai simplement fait à la volée avec l'ensemble de données "voulu".
out <- stratified(
mydf[, KEY := paste(strata1, strata2, sep = "_")], "KEY",
with(wanted, setNames(count, paste(strata1, strata2, sep = "_"))))
out
# strata1 strata2 values KEY
# 1: a A 21 a_A
# 2: a A 2 a_A
# 3: a B 9 a_B
# 4: a B 3 a_B
# 5: a B 9 a_B
# 6: b A 17 b_A
# 7: b A 12 b_A
# 8: b A 3 b_A
# 9: b A 17 b_A
# 10: b A 13 b_A
# 11: b B 8 b_B
# 12: b B 20 b_B
Comparer les tailles d'échantillons résultant par les variables de stratification d'origine:
out[, .N, .(strata1, strata2)]
# strata1 strata2 N
# 1: a A 2
# 2: a B 3
# 3: b A 5
# 4: b B 2
Que se produire lorsque vous supprimez les parenthèses après 'la population $ SampleSize'? – ANG
ne pas publier d'images de vos données, ils ne sont pas utiles, car nous ne pouvons pas charger d'images. Lisez l'aide de ce site et [this] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) et éditez votre question. – shea