首页 > 解决方案 > R以随机方式跳过for循环的值?

问题描述

我试图去 tru 修改列(round((D$eff)*d,1))的所有值,for 循环在修改列可以采用的所有可能值之间进行,但仍然认为两个相等的值是不同的。如果我运行此代码:

suma<-function(c,d){
  D<-subset(sim)
  for (g in 0:c){
      print(g*0.1)
      D<-subset(D,  g*0.1,1!= (round((D$eff)*d,1)))
      print(round((D$eff)*d,1))
  }
  return(round((D$eff)*d,1))
}

它返回:

[1] 2.2
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.3 2.4 2.4 2.5 2.3 2.5 2.5 2.5 2.3 2.5 2.4 2.4 2.5 2.4 2.4 2.5 2.4
 [37] 2.5 2.7 2.6 2.5 2.5 2.4 2.5 2.5 2.5 2.4 2.4 2.5 2.6 2.4 2.4 2.5 2.4 2.5
 [55] 2.9 2.9 3.0 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.4 2.5 2.6 2.5 2.6 2.5 2.5 2.6
 [73] 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5 2.5
 [91] 2.5 2.5 2.6 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5
[109] 2.5 2.5 2.4 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.6 2.5 2.4 2.4
[127] 2.6 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6
[145] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5
[163] 2.6 2.6 2.6 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[1] 2.3
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.3 2.4 2.4 2.5 2.3 2.5 2.5 2.5 2.3 2.5 2.4 2.4 2.5 2.4 2.4 2.5 2.4
 [37] 2.5 2.7 2.6 2.5 2.5 2.4 2.5 2.5 2.5 2.4 2.4 2.5 2.6 2.4 2.4 2.5 2.4 2.5
 [55] 2.9 2.9 3.0 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.4 2.5 2.6 2.5 2.6 2.5 2.5 2.6
 [73] 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5 2.5
 [91] 2.5 2.5 2.6 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5
[109] 2.5 2.5 2.4 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.6 2.5 2.4 2.4
[127] 2.6 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6
[145] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5
[163] 2.6 2.6 2.6 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[1] 2.4
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.3 2.4 2.4 2.5 2.3 2.5 2.5 2.5 2.3 2.5 2.4 2.4 2.5 2.4 2.4 2.5 2.4
 [37] 2.5 2.7 2.6 2.5 2.5 2.4 2.5 2.5 2.5 2.4 2.4 2.5 2.6 2.4 2.4 2.5 2.4 2.5
 [55] 2.9 2.9 3.0 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.4 2.5 2.6 2.5 2.6 2.5 2.5 2.6
 [73] 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5 2.5
 [91] 2.5 2.5 2.6 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5
[109] 2.5 2.5 2.4 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.6 2.5 2.4 2.4
[127] 2.6 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6
[145] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5
[163] 2.6 2.6 2.6 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[1] 2.5
 [1] 2.6 2.6 2.6 2.6 2.7 2.7 2.8 2.9 3.1 2.7 2.6 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3
[20] 2.4 2.4 2.4 2.4 2.4 2.7 2.6 2.4 2.4 2.4 2.6 2.4 2.4 2.4 2.9 2.9 3.0 3.0 2.9
[39] 2.6 2.4 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.4 2.4 2.4 2.6 2.4 2.4 2.6 2.4 2.4
[58] 2.6 2.6 2.4 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
[1] 2.6
 [1] 2.7 2.7 2.8 2.9 3.1 2.7 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4
[20] 2.7 2.4 2.4 2.4 2.4 2.4 2.4 2.9 2.9 3.0 3.0 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[39] 2.4 2.4
[1] 2.7
 [1] 2.8 2.9 3.1 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[20] 2.4 2.4 2.4 2.9 2.9 3.0 3.0 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[1] 2.8
 [1] 2.8 2.9 3.1 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[20] 2.4 2.4 2.4 2.9 2.9 3.0 3.0 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[1] 2.9
 [1] 2.8 2.9 3.1 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[20] 2.4 2.4 2.4 2.9 2.9 3.0 3.0 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[1] 3
 [1] 2.8 2.9 3.1 3.1 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[20] 2.4 2.4 2.4 2.9 2.9 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[1] 3.1
 [1] 2.8 2.9 2.8 2.8 2.3 2.4 2.4 2.3 2.3 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4
[20] 2.4 2.9 2.9 2.9 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4

但是我是否将不等式的左侧部分舍入:

suma<-function(c,d){
  D<-subset(sim)
  for (g in 0:c){
      print(g*0.1)
      D<-subset(D,  round(g*0.1,1)!= (round((D$eff)*d,1)))
      print(round((D$eff)*d,1))
  }
  return(round((D$eff)*d,1))
}

它返回:

[1] 2.2
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.3 2.4 2.4 2.5 2.3 2.5 2.5 2.5 2.3 2.5 2.4 2.4 2.5 2.4 2.4 2.5 2.4
 [37] 2.5 2.7 2.6 2.5 2.5 2.4 2.5 2.5 2.5 2.4 2.4 2.5 2.6 2.4 2.4 2.5 2.4 2.5
 [55] 2.9 2.9 3.0 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.4 2.5 2.6 2.5 2.6 2.5 2.5 2.6
 [73] 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5 2.5
 [91] 2.5 2.5 2.6 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5
[109] 2.5 2.5 2.4 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.6 2.5 2.4 2.4
[127] 2.6 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6
[145] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5
[163] 2.6 2.6 2.6 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[1] 2.3
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.4 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.4 2.5 2.4 2.4 2.5 2.4 2.5 2.7 2.6
 [37] 2.5 2.5 2.4 2.5 2.5 2.5 2.4 2.4 2.5 2.6 2.4 2.4 2.5 2.4 2.5 2.9 2.9 3.0
 [55] 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.4 2.5 2.6 2.5 2.6 2.5 2.5 2.6 2.5 2.5 2.6
 [73] 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6
 [91] 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.4
[109] 2.5 2.5 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.4 2.5 2.6 2.5 2.4 2.4 2.6 2.5 2.5
[127] 2.6 2.4 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[145] 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5 2.6 2.6 2.6
[163] 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[1] 2.4
  [1] 2.5 2.6 2.6 2.6 2.6 2.5 2.7 2.5 2.7 2.5 2.8 2.9 3.1 2.7 2.5 2.6 3.1 2.8
 [19] 2.8 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.7 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6
 [37] 2.5 2.5 2.9 2.9 3.0 3.0 2.9 2.5 2.5 2.6 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.5
 [55] 2.6 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.6 2.6 2.5 2.5 2.5
 [73] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
 [91] 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.5 2.6 2.5 2.5
[109] 2.5 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.5 2.6 2.5 2.5 2.5 2.6 2.5 2.5 2.5
[127] 2.5 2.5 2.5 2.6 2.5 2.6 2.5 2.6 2.6 2.6 2.5 2.6 2.6 2.6 2.6 2.5 2.5 2.5
[145] 2.5 2.6 2.5 2.5 2.5
[1] 2.5
 [1] 2.6 2.6 2.6 2.6 2.7 2.7 2.8 2.9 3.1 2.7 2.6 3.1 2.8 2.8 2.7 2.6 2.6 2.9 2.9
[20] 3.0 3.0 2.9 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
[39] 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
[1] 2.6
 [1] 2.7 2.7 2.8 2.9 3.1 2.7 3.1 2.8 2.8 2.7 2.9 2.9 3.0 3.0 2.9
[1] 2.7
 [1] 2.8 2.9 3.1 3.1 2.8 2.8 2.9 2.9 3.0 3.0 2.9
[1] 2.8
[1] 2.9 3.1 3.1 2.9 2.9 3.0 3.0 2.9
[1] 2.9
[1] 3.1 3.1 3.0 3.0
[1] 3
[1] 3.1 3.1
[1] 3.1
numeric(0)

有谁知道为什么会这样?先感谢您。

标签: r

解决方案


推荐阅读