r - R中的三重循环
问题描述
我在一棵树中有四个节点表示向量和一个距离函数,用于计算任何节点之间的距离和两个其他节点之间的分歧点。我想实现以下内容:
for all i, for all j, for all k
calculate distance(i,j,k) s.t. k != j != i.
所以对于四个i
作为主要节点的每一个,我想得到三个距离。比如以节点1为主节点,我要:(1-->2,3)
, (1,-->2,4)
, (1-->3,4)
.
(1-->2,3)
(1-->3,2)
例如,and将是相同的值,但(1-->2,3)
and (2-->1,3)
, 不是,因为存在不同的主节点。
我尝试3D array
如下制作,然后将值存储在嵌套循环中,但有没有更有效的方法来做到这一点?
任何建议将不胜感激。
a <- array(rep(1, 4*4*4), dim=c(4, 4, 4))
for (main in 1:4){
for (i in 1:4) {
if (i != main){
for (j in 1:4){
if (j != main & j != i){
a[main,i,j] <- sqrt( dist(main,i)*dist(main,j) / dist(i,j))}}}}}
解决方案
推荐阅读
- java - 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository
- python-3.x - 文件编号将如何影响 Gensim LDA 的结果?
- jquery - 需要在引导程序中的桌面和移动版本的菜单中切换按钮
- python - 在数据框的两列应用模糊匹配分数
- javascript - 无法打印出数组
- android - 如何在 Kotlin 的自定义 tablayout 中更改 tablayout 选定的文本颜色
- python - Python pandas datetime plot xticks不在偶数间隙中
- alert - Prometheus cpu 秒到百分比
- c# - 网页上是否有带有omnisharp的monaco-editor示例项目
- laravel - Laravel 5.6 php artisan route:list shwoing only api middleware 为什么?