我想在每个级别的bvar中单独应用avar.
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
Run Code Online (Sandbox Code Playgroud)
我试过plyr
require(plyr)
daply ( mydf, .(avar), sample)
Run Code Online (Sandbox Code Playgroud)
结果糟糕.plyr替代品也欢迎
试试这个:
> daply(mydf, .(bvar), sample)
$`1`
avar bvar
1 A 1
2 B 1
3 C 1
4 4 1
5 5 1
$`2`
avar bvar
6 6 2
7 7 2
8 8 2
9 9 2
10 10 2
Run Code Online (Sandbox Code Playgroud)
要么
> daply(mydf, .(bvar), summarize, ans = sample(avar))
$`1`
ans
1 A
2 C
3 4
4 B
5 5
$`2`
ans
1 10
2 9
3 7
4 8
5 6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |