繁体   English   中英

如何在 r 中一次循环两个变量

[英]How to loop through two variables at once in r

我试图在 R 中一起循环遍历 2 个变量。

这是我所拥有的

for (x in c(gl_50, gl_100, gl_200,gl_300,gl_400,gl_500,gl_600, gl16)) {
     for (y in c(50, 100, 200, 300, 400, 500, 600, 670)) {
  gi_x <- gl2gi(x)
  sum_x <- basic.stats(gi_x)
  
  ind<-colMeans(sum_x$n.ind.samp, na.rm=T)
  Ho<-colMeans(sum_x$Ho, na.rm = T)
  Hs<-colMeans(sum_x$Hs, na.rm = T)
  Fis<-colMeans(sum_x$Fis, na.rm = T)

  sum<-data.frame(cbind(ind, Ho, Hs, Fis))
  sum$snp_no <- rep(y)
  print(sum)

当前结果是循环运行 gl_50 与所有 y 值然后 gl_100 与所有 y 值等等。 我想要的是 gl_50 和 50,gl_100 和 100,gl_200 和 200 等等。

通常,您应该遍历它们的索引并像这样访问它们:

a <- c(gl_50, gl_100, gl_200,gl_300,gl_400,gl_500,gl_600, gl16)
b <- c(50, 100, 200, 300, 400, 500, 600, 670)
for (i in seq_along(a)) {
  a[i] 
  b[i]  
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM