我想在一个for循环中引用两个向量,但是每个向量的长度都不同。
n=1:50
m=letters[1:14]
Run Code Online (Sandbox Code Playgroud)
我尝试了一个循环来阅读它
for (i in c(11:22,24,25)){
cat (paste(n[i],m[i],sep='\t'),sep='\n')
}
Run Code Online (Sandbox Code Playgroud)
并最终得到:
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
Run Code Online (Sandbox Code Playgroud)
但我想获得:
11 a
12 b
13 c
...
25 n
Run Code Online (Sandbox Code Playgroud)
有没有办法有一个双变量声明?
for (i in c(11:22,24,25) and j in 1:14){
cat (paste(n[i],m[j],sep='\t'),sep='\n')
}
Run Code Online (Sandbox Code Playgroud)
或类似的东西来获得我想要的结果?
不,没有。但是您可以这样做:
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')
}
Run Code Online (Sandbox Code Playgroud)
当然,您很可能不应该for
为实际问题使用循环。