r - 使用带有 n 个元素的 expand.grid 函数
问题描述
我需要生成1:n
重复n
次数的所有组合。示例n = 4
:
expand.grid(1:4, 1:4, 1:4, 1:4)
但是,当数字较大时,此方法将需要大量输入n
。有没有一种有效的方法来做到这一点?我试过了paste
,不能让它工作。
解决方案
首先,您正在寻找重复的排列,而不是组合。其次,有几个包可以在R
. 有经典包gtools
,有两个高效编译库arrangements
和RcppAlgos
(我是作者):
## library(gtools)
gtools::permutations(4, 4, repeats.allowed = TRUE)
## library(arrangements)
arrangements::permutations(4, 4, replace = TRUE)
## library(RcppAlgos)
RcppAlgos::permuteGeneral(4, 4, TRUE)
推荐阅读
- javascript - buefy 上的复选框值错误行为
- javascript - 如何使用 webdriverIO 和 chai 测试 window.pageYoffset
- bash - Bash:如何在连续循环中跟踪最新文件
- javascript - DataTables Javascript中的默认选中复选框
- android - 如何在 Android 上使用 Firestore 创建邀请系统
- excel - 将固定文本添加到 Excel 用户表单文本框
- javascript - 模板文字js
- php - Laravel 5.7.6 Email Authentication
- amazon-web-services - Aurora PostgreSQL 引擎:设备上没有剩余空间
- python - 如何处理CSV数据错位问题?