Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 循环开始和结束的多个条件_R - Fatal编程技术网

R 循环开始和结束的多个条件

R 循环开始和结束的多个条件,r,R,我有一个大约有400万行的数据集。数据示例如下所示。我想运行一个具有多个开始和结束条件的循环 Sl.No Speed Load 1 20 50 2 20 10 3 0 0 4 0 0 5 0 0 6 0 60 7 0 120 8 0 180 9 10

我有一个大约有400万行的数据集。数据示例如下所示。我想运行一个具有多个开始和结束条件的循环

Sl.No    Speed    Load
1        20       50
2        20       10
3         0       0 
4         0       0
5         0       0
6         0       60
7         0       120
8         0       180
9         10      180
10        11      180
11        20      180
12        25      180
循环应首先查找速度=0和负载=0,然后必须检测负载的变化(例如sl no=6,其中速度=0,但负载不等于零)。一旦检测到负载变化,循环应开始从前3行(即sl no.3)复制。当检测到速度(速度和有效负载不等于零)时,循环应结束,并应复制下3行。因此,我需要循环开始从sl no.3-12复制。循环应再次重复并查找起始2条件

Sl.No    Speed    Load
1        20       50
2        20       10
3         0       0 
4         0       0
5         0       0
6         0       60
7         0       120
8         0       180
9         10      180
10        11      180
11        20      180
12        25      180

您应该这样写(这是一个嵌套循环),然后在其中使用索引i和j,以便返回和前进:

for(i in seq_along(data)){
  if(#your condition e.g. data[i][1]==0 & data[i][2]==0)
  {  
    # do something with data[i]
    # do something with data[i-1]
    # do something with data[i-2]
    # do something with data[i-3]
    j <- i + 1
    while(#your other condition: e.g. data[j][1]==...)
    {
        # do something with data[j]
        j <- j + 1
    }
    # Next three:
    # do something with data[j]
    # do something with data[j+1]
    # do something with data[j+2]
}
用于(沿(数据)顺序排列的i){
如果(#您的情况,例如数据[i][1]==0和数据[i][2]==0)
{  
#用数据做某事[i]
#用数据做点什么[i-1]
#用数据做点什么[i-2]
#用数据做点什么[i-3]

j提供预期输出,使您的问题更清晰。请参阅