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 回答