1

連続性のためにシーケンスにラベルを付けようとしています。値はすでにソートされています。Tdiff の値が <400 の場合、シーケンス "n" の一部です。Tdiff の値が突然 >=400 に変化した場合、それは "n+1" などの新しいシーケンスの一部になります。

行数は膨大です... 2950万。私は以下のコードを試しています:

    init<-1
    data$seq<-rep(0,29563983)
    for(i in 1:29563983)
    {
        if (data$Tdiff[i]<400)
        {
            data$seq[i]<-init
        } else {
           init<-init+1
           data$seq[i]<-init
        }
    }

これはすでに 10 時間の実行を経ています。これはまだ続いており、どこかで立ち往生しているとは思いません。

助けてください。

ありがとう

4

1 に答える 1

1

これはあなたが望むことをしますか?

data$seq = cumsum(data$Tdiff >= 400)+1;
于 2013-11-11T03:46:08.680 に答える