r - 如何迭代 R 中的 1 <= i < j <= n 元素?
问题描述
所以我想在矩阵的上三角部分做一个for循环,所以我只想要元素1 <= i < j <= n。我在 R 中进行了如下尝试:
for(i in 1:n-1) {
for(j in i+1:n) {
...
}
}
但是这些 for 循环不是遍历 1 <= i < j <= n,而是遍历元素 i + 1 <= j <= i + n,1 <= i < n。
我是 R 新手,所以我不明白发生了什么。有人可以给我一个提示如何正确地做到这一点吗?谢谢。
解决方案
for(i in seq(1, n - 1)) {
for(j in seq(i + 1, n)) {
...
}
}
或者
for(i in 1:(n - 1)) {
for(j in (i + 1):n) {
...
}
}
问题是R理解i+1:n
为i + (1:n)
推荐阅读
- go - Revel 框架的完全清晰的会话
- .htaccess - Htaccess 导致子域 '404 not found' 错误
- ios - 如何在 swift 中将 JSON `null` 值传递给`nil` 值?
- git - 当我只提交小的更改时,为什么 git 会压缩和写入所有项目文件?
- android - 如何将位图转换为 RoundRect 位图?
- asp.net-mvc - 如何将未经授权的用户重定向到登录页面
- c++ - 如何在 netpbm 图像中绘制平滑像素?
- html - 上传 WordPress 静态 HTML 站点后在 GitHub 上显示 404 错误
- swift - 我如何禁用在 ipad 中的 iphone 中工作的按钮,因为 ipad 具有这些功能
- python - 如何从上面的目录导入包/模块