分裂向量我中的R的載體,其包含至少50.000實數。 值從小到大排列,現在我需要將這個向量分成不同的向量。當兩個數字之間的差異大於給定的數字(如兩個)時,矢量必須分開。R,在未知指數
實施例,
data <- c(1,1.1, 1.2, 4, 4.2, 8, 8.9, 9, 9.3);
# Then I need the following vectors:
x1 <- c(1, 1.1, 1.2);
x2 <- c(4, 4.2);
x3 <- c(8, 8.9, 9, 9.3);
困難的是,我們不知道所需的向量的數量,不知道在正手的每個矢量的長度。
現在我有以下的想法,但是這是非常耗時的,它是唯一能夠將向量分成兩個新的載體。
j <- 2;
seqDemA1 <- seqDemandA[1];
while((seqDemandA[j-1] - seqDemandA[j] < 2) && (j < length(seqDemandA)+1)) {
seqDemA1 <- c(seqDemA1, seqDemandA[j]);
j <- j+1;
}
seqDemA2 <- seqDemandA[j];
j <- j+1;
while((seqDemandA[j-1] - seqDemandA[j] < 2) && (j < length(seqDemandA)+1)) {
seqDemA2 <- c(seqDemA2, seqDemandA[j]);
j <- j+1;
}
我期待您的幫助!
什麼是應該當你找到多個可能的分割點(即有多個點,其中連續數之間的差值大於2)發生? –