I want to sample avar applied to separately within each level of bvar.
mydf <- data.frame( avar = c("A", "B", "C", 4, 5, 6, 7, 8, 9, 10),
bvar = rep(1:2, each = 5))
mydf
avar bvar
1 A 1
2 B 1
3 C 1
4 4 1
5 5 1
6 6 2
7 7 2
8 8 2
9 9 2
10 10 2
i tried plyr
require(plyr)
daply ( mydf, .(avar), sample)
with awful results. plyr alternative are also welcome
A variety of base solutions: