r - R:通过删除和添加循环变量来迭代向量
问题描述
考虑一个向量:
dim <- c("a", "b", "c", "d")
我希望能够通过删除一些变量然后将更新的向量用于我的循环来创建向量的版本。
例如:
我希望它迭代到所有可能由此产生的向量:
dim <- c("a", "b", "d")
等等等等。我可以在循环中执行此操作,还是以某种方式我不必指定任何内容。顺序无关紧要,所以我不想要 a,b,c 和 c,a,b
解决方案
您可以通过以下方式获得:
dim <- c("a", "b", "c", "d")
> Map(combn, list(dim), 1:length(dim))
[[1]] # All combinations of size 1
[,1] [,2] [,3] [,4]
[1,] "a" "b" "c" "d"
[[2]] # All combinations of size 2
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "a" "a" "a" "b" "b" "c"
[2,] "b" "c" "d" "c" "d" "d"
[[3]] # All combinations of size 3
[,1] [,2] [,3] [,4]
[1,] "a" "a" "a" "b"
[2,] "b" "b" "c" "c"
[3,] "c" "d" "d" "d"
[[4]] # All combinations of size 4
[,1]
[1,] "a"
[2,] "b"
[3,] "c"
[4,] "d"
推荐阅读
- javascript - React 和 Redux 的 componentWillMount 和 componentDidMount。
vs订阅防止内存泄漏 - python-3.x - 如何使用 python pandas 编写 csv 文件
- c - 为什么使用非阻塞waitpid而不是阻塞等待?
- vue-router - Vue路由器从router-link访问元数据
- android - 在没有 Intent.createChooser 的情况下启动 Sharesheet
- python - 插入mongodb时如何设置字段类型
- swift2 - 具有协议 Logic Swift 2 的存在类型和泛型
- swiftui - SwiftUI 按钮不执行操作
- javascript - 尝试在第一次选择上选择一个选项后显示一个选择选项
- python - 错误 R14 和 H12,使用 heroku 部署工作人员超时