r - 在 R 中生成向量值的运行组合
问题描述
我需要实现的基本上是所有向量值组合的列表,但运行给定长度的槽窗口。展示比解释更容易。
假设我有window.size
一个3
vector <- c("goofy", "mickey", "donald", "foo", "bar")
这就是我需要的输出
from | to
------+-----
goofy | mickey
goofy | donald
mickey| donald
mickey| foo
donald| bar
donald| foo
foo | bar
由于这将在一组蒙特卡罗迭代中结束,windows.size
因此应该是参数化的
我认为使用 dplyr 和 tidyr 可以轻松完成,但我无法弄清楚如何。
提前致谢!
解决方案
与rollapply
和dplyr
。, c
, ugliness 需要将 的输出转换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"))
结果:
from to
1 goofy mickey
2 mickey donald
3 donald foo
4 goofy donald
5 mickey foo
6 donald bar
7 foo bar
推荐阅读
- matlab - 如果 x 坐标从增加变为减少,则使用 splines() 形成问题
- c - 通过 HCI 建立 L2CAP 连接
- google-apps-script - 从谷歌应用脚本中的按钮传递参数
- sql - 从 SQL 中的多个表中选择数据的最有效方法是什么?
- java - 在 JUnit 中使用参数化类时出现 Varargs 错误
- excel - VBA中的调用函数
- html - 我怎样才能摆脱菜单和子菜单之间的差距
- r - 如何从R中的excel(在不同的工作表中)绘制具有多个X,Y(向量)的散点图
- c# - 按钮创建一个按钮,然后该按钮显示/隐藏表单
- azure-active-directory - 是否可以拥有一个使用具有不同配置的 Azure B2C 的 Web 应用程序