J'ai un cadre de données appelé demo avec 500 enregistrements comme ceci
ID Age
1 10
2 15
3 36
4 20
. .
. .
497 40
498 5
499 12
500 20
Dans le cadre de données ci-dessus, je veux ajouter une colonne avec des valeurs telles que 25% des enregistrements totaux (dans notre cas 125) doivent être entre 1-3 et le reste, c'est-à-dire 75% (à partir de 126) doivent être entre 4-10, de sorte que la sortie ressemble à ceci
ID Age colB
1 10 2
2 15 1
3 36 1
4 20 3
. .
. .
497 40 8
498 5 10
499 12 5
500 20 9
J'ai essayé
function(x) {
a= row.names(demo)[125]
a <- FALSE
while (!a) {
demo$colB <- sample(nrow(demo), c(1:3))
}
return(x)
}
Toute aide serait très appréciée.