0
votes

Attribution de probabilité d'échantillon () au sein de TAPPLY ()

Utilisation des éléments suivants:

tapply(df$group, df$name, sample, 1, prob = df$probs)


0 commentaires

3 Réponses :


0
votes

pas un TAPPLY () solution, mais voici un avec sample_n () à partir de dplyr .

Renommer votre Probs colonne comme attendu_probs : xxx xxx

vérifier si les résultats observés correspondent aux probabilités attendues en répliquant la Échantillon: xxx


0 commentaires

0
votes

TAPPLY ne peut prendre que dans un vecteur, vous devez donc faire quelque chose comme: xxx pré>

Cependant, la sortie n'est pas si grande, p>

df$name: Adam
[1] 2
------------------------------------------------------------ 
df$name: Barry
[1] 8
------------------------------------------------------------ 
df$name: Charlie
[1] 12


0 commentaires

0
votes

Voici une solution de base r n'utilise pas TAPPLY code>, mais utilise divisée code> et sapply code>. Nous allons dessiner l'échantillon deux fois. L'utilisation de Set.Seed (42) garantit que vous obtenez les mêmes résultats ici. Vous n'avez pas besoin de l'utiliser lorsque vous exécutez vos propres données:

set.seed(42)
grps <- split(df, df$name)
sapply(grps, function(x) sample(x$group, 1, prob=x$expected_probs))
#    Adam   Barry Charlie 
#       5      10      13 
# sapply(grps, function(x) sample(x$group, 1, prob=x$expected_probs))
#    Adam   Barry Charlie 
#      3       9      11 


0 commentaires