我试图在for循环中运行for循环,但是它的行为并不像我期望的那样。我希望它在“内部”循环中循环元素,然后交换到“外部”循环中的下一个元素并重复。
例如:
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)
}
}我以为我会得到
AA vs AA
AA vs BB
AA vs CC
AA vs DD
BB vs AA
BB vs BB
.....我如何表明这是我想要的,如果有人能提供一个简单的解释,我实际要求它做什么,这也会有所帮助。
发布于 2019-04-12 05:11:04
如果您坚持使用循环,请接受@Dason的评论,并执行以下操作:
for(i in 1:length(Letters)) {
for(j in 1:length(Letters)) {
Combined <- paste0(Letters[i], ' vs ', Letters[j])
print(Combined)
}
}发布于 2019-04-12 05:09:36
我们可以使用expand.grid或CJ (来自data.table),然后执行paste
library(data.table)
CJ(Letters, Letters)[, paste(V1, 'vs', V2)]https://stackoverflow.com/questions/55641171
复制相似问题