Esiste un buon metodo per ottenere un campione di righe da una parte di un dataframe?Esempio casuale di righe da sottoinsieme di un frame di dati R
Se devo solo dati come
gender <- c("F", "M", "M", "F", "F", "M", "F", "F")
age <- c(23, 25, 27, 29, 31, 33, 35, 37)
allora posso facilmente assaggiare le età di tre delle Fs con
sample(age[gender == "F"], 3)
e ottenere qualcosa di simile
[1] 31 35 29
ma se trasformo questi dati in un dataframe
mydf <- data.frame(gender, age)
non posso usare l'ovvio
sample(mydf[mydf$gender == "F", ], 3)
se posso inventare qualcosa di contorto con un numero assurdo di staffe come
mydf[sample((1:nrow(mydf))[mydf$gender == "F"], 3), ]
e ottenere ciò che voglio, che è qualcosa di simile
gender age
7 F 35
4 F 29
1 F 23
C'è un modo migliore che mi richiede meno tempo per capire come scrivere?
6 staffe (sia su una o due linee) è sicuramente meglio di 10. – Henry
Non riesco ancora a credere che non ci sia un modo semplice per portare avanti una procedura statistica così funzionale in R. Ci deve essere un'app, voglio dire, un pacchetto per questo. –