当前位置:  开发笔记 > 编程语言 > 正文

R中的for循环中有2个变量

如何解决《R中的for循环中有2个变量》经验,为你挑选了1个好方法。

我想在一个for循环中引用两个向量,但是每个向量的长度都不同。

n=1:50
m=letters[1:14]

我尝试了一个循环来阅读它

for (i in c(11:22,24,25)){
    cat (paste(n[i],m[i],sep='\t'),sep='\n')
}

并最终得到:

11  k
12  l
13  m
14  n
15  NA
16  NA
17  NA
18  NA
19  NA
20  NA
21  NA
22  NA
24  NA
25  NA

但我想获得:

11  a
12  b
13  c
...
25  n

有没有办法有一个双变量声明?

for (i in c(11:22,24,25) and j in 1:14){
    cat (paste(n[i],m[j],sep='\t'),sep='\n')
}

或类似的东西来获得我想要的结果?



1> Roland..:

不,没有。但是您可以这样做:

ind_j <- c(11:22,24,25)
ind_k <- 1:14
for (i in seq_along(ind_j)){
  cat (paste(n[ind_j[i]],m[ind_k[i]],sep='\t'),sep='\n')
}

当然,您可能不应该for为实际问题使用循环。

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有