我需要实现的基本上是矢量值的所有组合的列表,但是运行给定长度的槽.展示比解释更容易.
让说我有一个window.size的3
vector <- c("goofy", "mickey", "donald", "foo", "bar")
Run Code Online (Sandbox Code Playgroud)
这就是我需要的输出
from | to
------+-----
goofy | mickey
goofy | donald
mickey| donald
mickey| foo
donald| bar
donald| foo
foo | bar
Run Code Online (Sandbox Code Playgroud)
由于这将以蒙特卡罗迭代集合结束,因此windows.size应该是参数化的
我认为用dplyr和tidyr可以轻松完成,但我无法弄清楚如何.
提前致谢!
随着rollapply和dplyr.的c,do.call,as.data.frame丑陋需要到的输出转换combn为一个数据帧dplyr的功能:
library(zoo)
library(dplyr)
rollapply(vector, 3, combn, 2, simplify = FALSE) %>%
c() %>%
do.call(rbind, .) %>%
as.data.frame() %>%
distinct() %>%
setNames(c("from", "to"))
Run Code Online (Sandbox Code Playgroud)
结果:
from to
1 goofy mickey
2 mickey donald
3 donald foo
4 goofy donald
5 mickey foo
6 donald bar
7 foo bar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |