首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >For-Loop中的For-Loop似乎跳过了迭代(r)

For-Loop中的For-Loop似乎跳过了迭代(r)
EN

Stack Overflow用户
提问于 2019-04-12 05:06:01
回答 2查看 40关注 0票数 0

我试图在for循环中运行for循环,但是它的行为并不像我期望的那样。我希望它在“内部”循环中循环元素,然后交换到“外部”循环中的下一个元素并重复。

例如:

代码语言:javascript
复制
Letters = c('AA', 'BB', 'CC', 'DD')

for(i in 1:length(Letters)) {

  LetDup <- Letters

  for(i in 1:length(LetDup)) {

    Combined <- paste0(Letters[i], ' vs ', LetDup[i])

    print(Combined)

  }
}

我以为我会得到

代码语言:javascript
复制
AA vs AA
AA vs BB
AA vs CC
AA vs DD
BB vs AA 
BB vs BB
.....

我如何表明这是我想要的,如果有人能提供一个简单的解释,我实际要求它做什么,这也会有所帮助。

EN

回答 2

Stack Overflow用户

发布于 2019-04-12 05:11:04

如果您坚持使用循环,请接受@Dason的评论,并执行以下操作:

代码语言:javascript
复制
for(i in 1:length(Letters)) {
  for(j in 1:length(Letters)) {
    Combined <- paste0(Letters[i], ' vs ', Letters[j])
    print(Combined)
    }
}
票数 1
EN

Stack Overflow用户

发布于 2019-04-12 05:09:36

我们可以使用expand.gridCJ (来自data.table),然后执行paste

代码语言:javascript
复制
library(data.table)
CJ(Letters, Letters)[, paste(V1, 'vs', V2)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55641171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档